Loading...
--- Libc/Libc-1244.30.3/include/stdint.h
+++ Libc/Libc-997.1.1/include/stdint.h
@@ -61,10 +61,6 @@
/* 7.18.2 Limits of specified-width integer types:
* These #defines specify the minimum and maximum limits
* of each of the types declared above.
- *
- * They must have "the same type as would an expression that is an
- * object of the corresponding type converted according to the integer
- * promotion".
*/
@@ -125,16 +121,17 @@
/* 7.18.2.4 Limits of integer types capable of holding object pointers */
#if __WORDSIZE == 64
-#define INTPTR_MAX 9223372036854775807L
-#else
-#define INTPTR_MAX 2147483647L
-#endif
-#define INTPTR_MIN (-INTPTR_MAX-1)
-
-#if __WORDSIZE == 64
-#define UINTPTR_MAX 18446744073709551615UL
-#else
-#define UINTPTR_MAX 4294967295UL
+#define INTPTR_MIN INT64_MIN
+#define INTPTR_MAX INT64_MAX
+#else
+#define INTPTR_MIN INT32_MIN
+#define INTPTR_MAX INT32_MAX
+#endif
+
+#if __WORDSIZE == 64
+#define UINTPTR_MAX UINT64_MAX
+#else
+#define UINTPTR_MAX UINT32_MAX
#endif
/* 7.18.2.5 Limits of greatest-width integer types */
@@ -152,7 +149,15 @@
#define PTRDIFF_MAX INT32_MAX
#endif
-#define SIZE_MAX UINTPTR_MAX
+/* We have no sig_atomic_t yet, so no SIG_ATOMIC_{MIN,MAX}.
+ Should end up being {-127,127} or {0,255} ... or bigger.
+ My bet would be on one of {U}INT32_{MIN,MAX}. */
+
+#if __WORDSIZE == 64
+#define SIZE_MAX UINT64_MAX
+#else
+#define SIZE_MAX UINT32_MAX
+#endif
#if defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1
#define RSIZE_MAX (SIZE_MAX >> 1)
@@ -190,8 +195,8 @@
#define INT32_C(v) (v)
#define INT64_C(v) (v ## LL)
-#define UINT8_C(v) (v)
-#define UINT16_C(v) (v)
+#define UINT8_C(v) (v ## U)
+#define UINT16_C(v) (v ## U)
#define UINT32_C(v) (v ## U)
#define UINT64_C(v) (v ## ULL)