Loading...
include/stdint.h Libc-1725.40.4 Libc-997.1.1
--- Libc/Libc-1725.40.4/include/stdint.h
+++ Libc/Libc-997.1.1/include/stdint.h
@@ -58,32 +58,9 @@
 #include <_types/_intmax_t.h>
 #include <_types/_uintmax_t.h>
 
-/* 7.18.4 Macros for integer constants */
-#define INT8_C(v)    (v)
-#define INT16_C(v)   (v)
-#define INT32_C(v)   (v)
-#define INT64_C(v)   (v ## LL)
-
-#define UINT8_C(v)   (v)
-#define UINT16_C(v)  (v)
-#define UINT32_C(v)  (v ## U)
-#define UINT64_C(v)  (v ## ULL)
-
-#ifdef __LP64__
-#define INTMAX_C(v)  (v ## L)
-#define UINTMAX_C(v) (v ## UL)
-#else
-#define INTMAX_C(v)  (v ## LL)
-#define UINTMAX_C(v) (v ## ULL)
-#endif
-
 /* 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".
  */
 
 
@@ -144,33 +121,43 @@
 /* 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 */
-#define INTMAX_MAX        INTMAX_C(9223372036854775807)
-#define UINTMAX_MAX       UINTMAX_C(18446744073709551615)
-#define INTMAX_MIN        (-INTMAX_MAX-1)
+#define INTMAX_MIN        INT64_MIN
+#define INTMAX_MAX        INT64_MAX
+
+#define UINTMAX_MAX       UINT64_MAX
 
 /* 7.18.3 "Other" */
 #if __WORDSIZE == 64
-#define PTRDIFF_MIN	  INTMAX_MIN
-#define PTRDIFF_MAX	  INTMAX_MAX
+#define PTRDIFF_MIN	  INT64_MIN
+#define PTRDIFF_MAX	  INT64_MAX
 #else
 #define PTRDIFF_MIN       INT32_MIN
 #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)
@@ -202,4 +189,23 @@
 #define SIG_ATOMIC_MIN	  INT32_MIN
 #define SIG_ATOMIC_MAX	  INT32_MAX
 
+/* 7.18.4 Macros for integer constants */
+#define INT8_C(v)    (v)
+#define INT16_C(v)   (v)
+#define INT32_C(v)   (v)
+#define INT64_C(v)   (v ## LL)
+
+#define UINT8_C(v)   (v ## U)
+#define UINT16_C(v)  (v ## U)
+#define UINT32_C(v)  (v ## U)
+#define UINT64_C(v)  (v ## ULL)
+
+#ifdef __LP64__
+#define INTMAX_C(v)  (v ## L)
+#define UINTMAX_C(v) (v ## UL)
+#else
+#define INTMAX_C(v)  (v ## LL)
+#define UINTMAX_C(v) (v ## ULL)
+#endif
+
 #endif /* _STDINT_H_ */