Skip to content

Commit ab85259

Browse files
committed
Fix implementation and tests
1 parent 2bec8d8 commit ab85259

File tree

3 files changed

+38
-40
lines changed

3 files changed

+38
-40
lines changed

clang/lib/Headers/stdint.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -322,20 +322,20 @@ typedef __UINTMAX_TYPE__ uintmax_t;
322322
*/
323323

324324
#ifdef __int_least64_t
325-
#define INT64_C(v) __INT64(v)
326-
#define UINT64_C(v) __UINT64(v)
325+
#define INT64_C(v) __INT64_C(v)
326+
#define UINT64_C(v) __UINT64_C(v)
327327
#endif /* __int_least64_t */
328328

329329

330330
#ifdef __INT56_TYPE__
331-
#define INT56_C(v) __INT56(v)
332-
#define UINT56_C(v) __UINT56(v)
331+
#define INT56_C(v) __INT56_C(v)
332+
#define UINT56_C(v) __UINT56_C(v)
333333
#endif /* __INT56_TYPE__ */
334334

335335

336336
#ifdef __INT48_TYPE__
337-
#define INT48_C(v) __INT48(v)
338-
#define UINT48_C(v) __UINT48(v)
337+
#define INT48_C(v) __INT48_C(v)
338+
#define UINT48_C(v) __UINT48_C(v)
339339
#endif /* __INT48_TYPE__ */
340340

341341

clang/test/C/drs/dr209.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
RUN: %clang_cc1 -std=c17 -ffreestanding -fsyntax-only -verify -pedantic %s
55
RUN: %clang_cc1 -std=c2x -ffreestanding -fsyntax-only -verify -pedantic %s
66
*/
7+
// expected-no-diagnostics
78

89
/* WG14 DR209: partial
910
* Problem implementing INTN_C macros
@@ -33,8 +34,7 @@ void dr209(void) {
3334
(void)_Generic(INT16_C(0), __typeof__(+(int_least16_t){0}) : 1);
3435
(void)_Generic(INT32_C(0), __typeof__(+(int_least32_t){0}) : 1);
3536
(void)_Generic(INT64_C(0), __typeof__(+(int_least64_t){0}) : 1);
36-
// FIXME: This is not the expected behavior; the type of the expanded value
37-
// in both of these cases should be 'int',
37+
// The type of the expanded value in both of these cases should be 'int',
3838
//
3939
// C99 7.18.4p3: The type of the expression shall have the same type as would
4040
// an expression of the corresponding type converted according to the integer
@@ -53,8 +53,6 @@ void dr209(void) {
5353
//
5454
(void)_Generic(UINT8_C(0), __typeof__(+(uint_least8_t){0}) : 1);
5555
(void)_Generic(UINT16_C(0), __typeof__(+(uint_least16_t){0}) : 1);
56-
// expected-error@-2 {{controlling expression type 'unsigned int' not compatible with any generic association type}}
57-
// expected-error@-2 {{controlling expression type 'unsigned int' not compatible with any generic association type}}
5856
(void)_Generic(UINT32_C(0), __typeof__(+(uint_least32_t){0}) : 1);
5957
(void)_Generic(UINT64_C(0), __typeof__(+(uint_least64_t){0}) : 1);
6058
}

clang/test/Preprocessor/stdint.c

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,9 @@
9494
// ARM:WCHAR_MIN_ 0U
9595
//
9696
// ARM:INT8_C_(0) 0
97-
// ARM:UINT8_C_(0) 0U
97+
// ARM:UINT8_C_(0) 0
9898
// ARM:INT16_C_(0) 0
99-
// ARM:UINT16_C_(0) 0U
99+
// ARM:UINT16_C_(0) 0
100100
// ARM:INT32_C_(0) 0
101101
// ARM:UINT32_C_(0) 0U
102102
// ARM:INT64_C_(0) 0LL
@@ -201,9 +201,9 @@
201201
// ARM64_32:WCHAR_MIN_ (-2147483647 -1)
202202
//
203203
// ARM64_32:INT8_C_(0) 0
204-
// ARM64_32:UINT8_C_(0) 0U
204+
// ARM64_32:UINT8_C_(0) 0
205205
// ARM64_32:INT16_C_(0) 0
206-
// ARM64_32:UINT16_C_(0) 0U
206+
// ARM64_32:UINT16_C_(0) 0
207207
// ARM64_32:INT32_C_(0) 0
208208
// ARM64_32:UINT32_C_(0) 0U
209209
// ARM64_32:INT64_C_(0) 0LL
@@ -309,9 +309,9 @@
309309
// I386:WCHAR_MIN_ (-2147483647 -1)
310310
//
311311
// I386:INT8_C_(0) 0
312-
// I386:UINT8_C_(0) 0U
312+
// I386:UINT8_C_(0) 0
313313
// I386:INT16_C_(0) 0
314-
// I386:UINT16_C_(0) 0U
314+
// I386:UINT16_C_(0) 0
315315
// I386:INT32_C_(0) 0
316316
// I386:UINT32_C_(0) 0U
317317
// I386:INT64_C_(0) 0LL
@@ -416,9 +416,9 @@
416416
// MIPS:WCHAR_MIN_ (-2147483647 -1)
417417
//
418418
// MIPS:INT8_C_(0) 0
419-
// MIPS:UINT8_C_(0) 0U
419+
// MIPS:UINT8_C_(0) 0
420420
// MIPS:INT16_C_(0) 0
421-
// MIPS:UINT16_C_(0) 0U
421+
// MIPS:UINT16_C_(0) 0
422422
// MIPS:INT32_C_(0) 0
423423
// MIPS:UINT32_C_(0) 0U
424424
// MIPS:INT64_C_(0) 0LL
@@ -523,9 +523,9 @@
523523
// MIPS64:WCHAR_MIN_ (-2147483647 -1)
524524
//
525525
// MIPS64:INT8_C_(0) 0
526-
// MIPS64:UINT8_C_(0) 0U
526+
// MIPS64:UINT8_C_(0) 0
527527
// MIPS64:INT16_C_(0) 0
528-
// MIPS64:UINT16_C_(0) 0U
528+
// MIPS64:UINT16_C_(0) 0
529529
// MIPS64:INT32_C_(0) 0
530530
// MIPS64:UINT32_C_(0) 0U
531531
// MIPS64:INT64_C_(0) 0L
@@ -623,9 +623,9 @@
623623
// MSP430:WCHAR_MIN_ (-32767 -1)
624624
//
625625
// MSP430:INT8_C_(0) 0
626-
// MSP430:UINT8_C_(0) 0U
626+
// MSP430:UINT8_C_(0) 0
627627
// MSP430:INT16_C_(0) 0
628-
// MSP430:UINT16_C_(0) 0U
628+
// MSP430:UINT16_C_(0) 0
629629
// MSP430:INT32_C_(0) 0L
630630
// MSP430:UINT32_C_(0) 0UL
631631
// MSP430:INT64_C_(0) 0LL
@@ -730,9 +730,9 @@
730730
// PPC64:WCHAR_MIN_ (-2147483647 -1)
731731
//
732732
// PPC64:INT8_C_(0) 0
733-
// PPC64:UINT8_C_(0) 0U
733+
// PPC64:UINT8_C_(0) 0
734734
// PPC64:INT16_C_(0) 0
735-
// PPC64:UINT16_C_(0) 0U
735+
// PPC64:UINT16_C_(0) 0
736736
// PPC64:INT32_C_(0) 0
737737
// PPC64:UINT32_C_(0) 0U
738738
// PPC64:INT64_C_(0) 0L
@@ -837,9 +837,9 @@
837837
// PPC64-NETBSD:WCHAR_MIN_ (-2147483647 -1)
838838
//
839839
// PPC64-NETBSD:INT8_C_(0) 0
840-
// PPC64-NETBSD:UINT8_C_(0) 0U
840+
// PPC64-NETBSD:UINT8_C_(0) 0
841841
// PPC64-NETBSD:INT16_C_(0) 0
842-
// PPC64-NETBSD:UINT16_C_(0) 0U
842+
// PPC64-NETBSD:UINT16_C_(0) 0
843843
// PPC64-NETBSD:INT32_C_(0) 0
844844
// PPC64-NETBSD:UINT32_C_(0) 0U
845845
// PPC64-NETBSD:INT64_C_(0) 0L
@@ -945,9 +945,9 @@
945945
// PPC:WCHAR_MIN_ (-2147483647 -1)
946946
//
947947
// PPC:INT8_C_(0) 0
948-
// PPC:UINT8_C_(0) 0U
948+
// PPC:UINT8_C_(0) 0
949949
// PPC:INT16_C_(0) 0
950-
// PPC:UINT16_C_(0) 0U
950+
// PPC:UINT16_C_(0) 0
951951
// PPC:INT32_C_(0) 0
952952
// PPC:UINT32_C_(0) 0U
953953
// PPC:INT64_C_(0) 0LL
@@ -1052,9 +1052,9 @@
10521052
// S390X:WCHAR_MIN_ (-2147483647 -1)
10531053
//
10541054
// S390X:INT8_C_(0) 0
1055-
// S390X:UINT8_C_(0) 0U
1055+
// S390X:UINT8_C_(0) 0
10561056
// S390X:INT16_C_(0) 0
1057-
// S390X:UINT16_C_(0) 0U
1057+
// S390X:UINT16_C_(0) 0
10581058
// S390X:INT32_C_(0) 0
10591059
// S390X:UINT32_C_(0) 0U
10601060
// S390X:INT64_C_(0) 0L
@@ -1159,9 +1159,9 @@
11591159
// SPARC:WCHAR_MIN_ (-2147483647 -1)
11601160
//
11611161
// SPARC:INT8_C_(0) 0
1162-
// SPARC:UINT8_C_(0) 0U
1162+
// SPARC:UINT8_C_(0) 0
11631163
// SPARC:INT16_C_(0) 0
1164-
// SPARC:UINT16_C_(0) 0U
1164+
// SPARC:UINT16_C_(0) 0
11651165
// SPARC:INT32_C_(0) 0
11661166
// SPARC:UINT32_C_(0) 0U
11671167
// SPARC:INT64_C_(0) 0LL
@@ -1259,9 +1259,9 @@
12591259
// TCE:WCHAR_MIN_ (-2147483647 -1)
12601260
//
12611261
// TCE:INT8_C_(0) 0
1262-
// TCE:UINT8_C_(0) 0U
1262+
// TCE:UINT8_C_(0) 0
12631263
// TCE:INT16_C_(0) 0
1264-
// TCE:UINT16_C_(0) 0U
1264+
// TCE:UINT16_C_(0) 0
12651265
// TCE:INT32_C_(0) 0
12661266
// TCE:UINT32_C_(0) 0U
12671267
// TCE:INT64_C_(0) INT64_C(0)
@@ -1367,9 +1367,9 @@
13671367
// X86_64:WCHAR_MIN_ (-2147483647 -1)
13681368
//
13691369
// X86_64:INT8_C_(0) 0
1370-
// X86_64:UINT8_C_(0) 0U
1370+
// X86_64:UINT8_C_(0) 0
13711371
// X86_64:INT16_C_(0) 0
1372-
// X86_64:UINT16_C_(0) 0U
1372+
// X86_64:UINT16_C_(0) 0
13731373
// X86_64:INT32_C_(0) 0
13741374
// X86_64:UINT32_C_(0) 0U
13751375
// X86_64:INT64_C_(0) 0L
@@ -1487,9 +1487,9 @@
14871487
// XCORE:WCHAR_MIN_ 0
14881488
//
14891489
// XCORE:INT8_C_(0) 0
1490-
// XCORE:UINT8_C_(0) 0U
1490+
// XCORE:UINT8_C_(0) 0
14911491
// XCORE:INT16_C_(0) 0
1492-
// XCORE:UINT16_C_(0) 0U
1492+
// XCORE:UINT16_C_(0) 0
14931493
// XCORE:INT32_C_(0) 0
14941494
// XCORE:UINT32_C_(0) 0U
14951495
// XCORE:INT64_C_(0) 0LL
@@ -1594,9 +1594,9 @@
15941594
// XTENSA:WCHAR_MIN_ (-2147483647 -1)
15951595
//
15961596
// XTENSA:INT8_C_(0) 0
1597-
// XTENSA:UINT8_C_(0) 0U
1597+
// XTENSA:UINT8_C_(0) 0
15981598
// XTENSA:INT16_C_(0) 0
1599-
// XTENSA:UINT16_C_(0) 0U
1599+
// XTENSA:UINT16_C_(0) 0
16001600
// XTENSA:INT32_C_(0) 0
16011601
// XTENSA:UINT32_C_(0) 0U
16021602
// XTENSA:INT64_C_(0) 0LL

0 commit comments

Comments
 (0)