Răsfoiți Sursa

make [U]INTn_C() macros have the right type...

...and still be valid in #if directives.
Rich Felker 13 ani în urmă
părinte
comite
73f5ff4e86
1 a modificat fișierele cu 4 adăugiri și 4 ștergeri
  1. 4 4
      include/stdint.h

+ 4 - 4
include/stdint.h

@@ -85,13 +85,13 @@ typedef unsigned long long uintmax_t;
 
 #if !defined __cplusplus || defined __STDC_CONSTANT_MACROS
 
-#define INT8_C(c)  c
-#define INT16_C(c) c
+#define INT8_C(c)  ((int8_t) + (c))
+#define INT16_C(c) ((int16_t) + (c))
 #define INT32_C(c) c
 #define INT64_C(c) c ## LL
 
-#define UINT8_C(c)  c ## U
-#define UINT16_C(c) c ## U
+#define UINT8_C(c)  ((uint8_t) + (c))
+#define UINT16_C(c) ((uint16_t) + (c))
 #define UINT32_C(c) c ## U
 #define UINT64_C(c) c ## ULL