Skip to content

Commit a8f83c1

Browse files
authored
Fixup #14396 (Update value for INT64_MIN, value should be a signed expression) (danmar#8126)
1 parent 367e437 commit a8f83c1

File tree

2 files changed

+18
-7
lines changed

2 files changed

+18
-7
lines changed

cfg/std.cfg

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@
33
<!-- stdint.h -->
44
<define name="INT8_MIN" value="-128"/>
55
<define name="INT16_MIN" value="-32768"/>
6-
<define name="INT32_MIN" value="-2147483648"/>
7-
<define name="INT64_MIN" value="(-9223372036854775807L-1)"/>
6+
<define name="INT32_MIN" value="(-2147483647-1)"/>
7+
<define name="INT64_MIN" value="(-9223372036854775807-1)"/>
88
<define name="INT_FAST8_MIN" value="-128"/>
9-
<define name="INT_FAST16_MIN" value="(-9223372036854775807L-1)"/>
10-
<define name="INT_FAST32_MIN" value="(-9223372036854775807L-1)"/>
11-
<define name="INT_FAST64_MIN" value="(-9223372036854775807L-1)"/>
9+
<define name="INT_FAST16_MIN" value="(-9223372036854775807-1)"/>
10+
<define name="INT_FAST32_MIN" value="(-9223372036854775807-1)"/>
11+
<define name="INT_FAST64_MIN" value="(-9223372036854775807-1)"/>
1212
<define name="INT_LEAST8_MIN" value="-128"/>
1313
<define name="INT_LEAST16_MIN" value="-32768"/>
14-
<define name="INT_LEAST32_MIN" value="-2147483648"/>
15-
<define name="INT_LEAST64_MIN" value="(-9223372036854775807L-1)"/>
14+
<define name="INT_LEAST32_MIN" value="(-2147483647-1)"/>
15+
<define name="INT_LEAST64_MIN" value="(-9223372036854775807-1)"/>
1616
<define name="INT8_MAX" value="127"/>
1717
<define name="INT16_MAX" value="32767"/>
1818
<define name="INT32_MAX" value="2147483647"/>

test/cfg/std.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,17 @@
3838
#include <math.h>
3939
#include <stddef.h>
4040

41+
void test_int32_min() {
42+
// cppcheck-suppress shiftNegativeLHS
43+
// cppcheck-suppress shiftTooManyBits ; tests that INT32_MIN is a 32-bit expression (not 64-bit expression)
44+
(void)(INT32_MIN >> 40);
45+
}
46+
47+
void test_int64_min() {
48+
// cppcheck-suppress compareValueOutOfTypeRangeError ; tests that INT64_MIN is a signed expression
49+
if (INT64_MIN < 0) {}
50+
}
51+
4152
size_t invalidFunctionArgStr_wcslen(void)
4253
{
4354
const wchar_t terminated0[] = L"ABCDEF49620910";

0 commit comments

Comments
 (0)