Remove __STDC_FORMAT_MACROS and __STDC_LIMIT_MACROS guards (and fix SIZE_MAX for LP64).
The various committees decided that everyone should get all these macros,
all the time.
Bug: 12708004
Change-Id: Ib56010dcba9b0656e5701546fefb7f78dc0bf916
diff --git a/libc/include/stdint.h b/libc/include/stdint.h
index 9bdfb05..be49485 100644
--- a/libc/include/stdint.h
+++ b/libc/include/stdint.h
@@ -32,249 +32,174 @@
#include <stddef.h>
#include <sys/_types.h>
-#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) || (__cplusplus >= 201103L)
-# define __STDINT_LIMITS
-#endif
-
-#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) || (__cplusplus >= 201103L)
-# define __STDINT_MACROS
-#endif
-
typedef __int8_t int8_t;
typedef __uint8_t uint8_t;
+
typedef __int16_t int16_t;
typedef __uint16_t uint16_t;
+
typedef __int32_t int32_t;
typedef __uint32_t uint32_t;
+
typedef __int64_t int64_t;
typedef __uint64_t uint64_t;
-/*
- * int8_t & uint8_t
- */
-
typedef int8_t int_least8_t;
typedef int8_t int_fast8_t;
typedef uint8_t uint_least8_t;
typedef uint8_t uint_fast8_t;
-#ifdef __STDINT_LIMITS
-# define INT8_MIN (-128)
-# define INT8_MAX (127)
-# define INT_LEAST8_MIN INT8_MIN
-# define INT_LEAST8_MAX INT8_MAX
-# define INT_FAST8_MIN INT8_MIN
-# define INT_FAST8_MAX INT8_MAX
-
-# define UINT8_MAX (255)
-# define UINT_LEAST8_MAX UINT8_MAX
-# define UINT_FAST8_MAX UINT8_MAX
-#endif
-
-#ifdef __STDINT_MACROS
-# define INT8_C(c) c
-# define INT_LEAST8_C(c) INT8_C(c)
-# define INT_FAST8_C(c) INT8_C(c)
-
-# define UINT8_C(c) c
-# define UINT_LEAST8_C(c) UINT8_C(c)
-# define UINT_FAST8_C(c) UINT8_C(c)
-#endif
-
-/*
- * int16_t & uint16_t
- */
-
typedef int16_t int_least16_t;
typedef int32_t int_fast16_t;
typedef uint16_t uint_least16_t;
typedef uint32_t uint_fast16_t;
-#ifdef __STDINT_LIMITS
-# define INT16_MIN (-32768)
-# define INT16_MAX (32767)
-# define INT_LEAST16_MIN INT16_MIN
-# define INT_LEAST16_MAX INT16_MAX
-# define INT_FAST16_MIN INT32_MIN
-# define INT_FAST16_MAX INT32_MAX
-
-# define UINT16_MAX (65535)
-# define UINT_LEAST16_MAX UINT16_MAX
-# define UINT_FAST16_MAX UINT32_MAX
-#endif
-
-#ifdef __STDINT_MACROS
-# define INT16_C(c) c
-# define INT_LEAST16_C(c) INT16_C(c)
-# define INT_FAST16_C(c) INT32_C(c)
-
-# define UINT16_C(c) c
-# define UINT_LEAST16_C(c) UINT16_C(c)
-# define UINT_FAST16_C(c) UINT32_C(c)
-#endif
-
-/*
- * int32_t & uint32_t
- */
-
typedef int32_t int_least32_t;
typedef int32_t int_fast32_t;
typedef uint32_t uint_least32_t;
typedef uint32_t uint_fast32_t;
-#ifdef __STDINT_LIMITS
-# define INT32_MIN (-2147483647-1)
-# define INT32_MAX (2147483647)
-# define INT_LEAST32_MIN INT32_MIN
-# define INT_LEAST32_MAX INT32_MAX
-# define INT_FAST32_MIN INT32_MIN
-# define INT_FAST32_MAX INT32_MAX
-
-# define UINT32_MAX (4294967295U)
-# define UINT_LEAST32_MAX UINT32_MAX
-# define UINT_FAST32_MAX UINT32_MAX
-#endif
-
-#ifdef __STDINT_MACROS
-# define INT32_C(c) c
-# define INT_LEAST32_C(c) INT32_C(c)
-# define INT_FAST32_C(c) INT32_C(c)
-
-# define UINT32_C(c) c ## U
-# define UINT_LEAST32_C(c) UINT32_C(c)
-# define UINT_FAST32_C(c) UINT32_C(c)
-#endif
-
-/*
- * int64_t
- */
-
typedef int64_t int_least64_t;
typedef int64_t int_fast64_t;
typedef uint64_t uint_least64_t;
typedef uint64_t uint_fast64_t;
-#if __LP64__
-# define __INT64_C(c) c ## L
-# define __UINT64_C(c) c ## UL
-#else
-# define __INT64_C(c) c ## LL
-# define __UINT64_C(c) c ## ULL
-#endif
-
-#ifdef __STDINT_LIMITS
-# define INT64_MIN (__INT64_C(-9223372036854775807)-1)
-# define INT64_MAX (__INT64_C(9223372036854775807))
-# define INT_LEAST64_MIN INT64_MIN
-# define INT_LEAST64_MAX INT64_MAX
-# define INT_FAST64_MIN INT64_MIN
-# define INT_FAST64_MAX INT64_MAX
-# define UINT64_MAX (__UINT64_C(18446744073709551615))
-
-# define UINT_LEAST64_MAX UINT64_MAX
-# define UINT_FAST64_MAX UINT64_MAX
-#endif
-
-#ifdef __STDINT_MACROS
-# define INT64_C(c) __INT64_C(c)
-# define INT_LEAST64_C(c) INT64_C(c)
-# define INT_FAST64_C(c) INT64_C(c)
-
-# define UINT64_C(c) __UINT64_C(c)
-# define UINT_LEAST64_C(c) UINT64_C(c)
-# define UINT_FAST64_C(c) UINT64_C(c)
-#endif
-
-# define __PRI64_RANK "ll"
-# define __PRIFAST_RANK ""
-# define __PRIPTR_RANK ""
-
-
-/*
- * intptr_t & uintptr_t
- */
-
#ifdef __LP64__
-
-typedef long intptr_t;
-typedef unsigned long uintptr_t;
-
-#ifdef __STDINT_LIMITS
-# define INTPTR_MIN INT64_MIN
-# define INTPTR_MAX INT64_MAX
-# define UINTPTR_MAX UINT64_MAX
-# define PTRDIFF_MIN INT64_MIN
-# define PTRDIFF_MAX INT64_MAX
-#endif
-#ifdef __STDINT_MACROS
-# define INTPTR_C(c) INT64_C(c)
-# define UINTPTR_C(c) UINT64_C(c)
-# define PTRDIFF_C(c) INT64_C(c)
-#endif
-
+typedef long intptr_t;
+typedef unsigned long uintptr_t;
#else
-
typedef int intptr_t;
typedef unsigned int uintptr_t;
-
-#ifdef __STDINT_LIMITS
-# define INTPTR_MIN INT32_MIN
-# define INTPTR_MAX INT32_MAX
-# define UINTPTR_MAX UINT32_MAX
-# define PTRDIFF_MIN INT32_MIN
-# define PTRDIFF_MAX INT32_MAX
#endif
-#ifdef __STDINT_MACROS
-# define INTPTR_C(c) INT32_C(c)
-# define UINTPTR_C(c) UINT32_C(c)
-# define PTRDIFF_C(c) INT32_C(c)
-#endif
-
-#endif /* __LP64__ */
-
-
-/*
- * intmax_t & uintmax_t
- */
typedef uint64_t uintmax_t;
typedef int64_t intmax_t;
-#ifdef __STDINT_LIMITS
-# define INTMAX_MIN INT64_MIN
-# define INTMAX_MAX INT64_MAX
-# define UINTMAX_MAX UINT64_MAX
-#endif
-
-#ifdef __STDINT_MACROS
-# define INTMAX_C(c) INT64_C(c)
-# define UINTMAX_C(c) UINT64_C(c)
-#endif
-
-/*
- * sig_atomic_t, size_t, wchar_t, and wint_t.
- */
-
-#ifdef __STDINT_LIMITS
-# define SIG_ATOMIC_MAX INT32_MAX
-# define SIG_ATOMIC_MIN INT32_MIN
-
-# define SIZE_MAX UINT32_MAX
-
-# ifndef WCHAR_MAX /* These might also have been defined by <wchar.h>. */
-# define WCHAR_MAX INT32_MAX
-# define WCHAR_MIN INT32_MIN
-# endif
-
-# define WINT_MAX INT32_MAX
-# define WINT_MIN INT32_MIN
-#endif
-
/* Keep the kernel from trying to define these types... */
#define __BIT_TYPES_DEFINED__
+#define INT8_C(c) c
+#define INT_LEAST8_C(c) INT8_C(c)
+#define INT_FAST8_C(c) INT8_C(c)
+
+#define UINT8_C(c) c
+#define UINT_LEAST8_C(c) UINT8_C(c)
+#define UINT_FAST8_C(c) UINT8_C(c)
+
+#define INT16_C(c) c
+#define INT_LEAST16_C(c) INT16_C(c)
+#define INT_FAST16_C(c) INT32_C(c)
+
+#define UINT16_C(c) c
+#define UINT_LEAST16_C(c) UINT16_C(c)
+#define UINT_FAST16_C(c) UINT32_C(c)
+#define INT32_C(c) c
+#define INT_LEAST32_C(c) INT32_C(c)
+#define INT_FAST32_C(c) INT32_C(c)
+
+#define UINT32_C(c) c ## U
+#define UINT_LEAST32_C(c) UINT32_C(c)
+#define UINT_FAST32_C(c) UINT32_C(c)
+#define INT_LEAST64_C(c) INT64_C(c)
+#define INT_FAST64_C(c) INT64_C(c)
+
+#define UINT_LEAST64_C(c) UINT64_C(c)
+#define UINT_FAST64_C(c) UINT64_C(c)
+
+#define INTMAX_C(c) INT64_C(c)
+#define UINTMAX_C(c) UINT64_C(c)
+
+#ifdef __LP64__
+# define INT64_C(c) c ## L
+# define UINT64_C(c) c ## UL
+# define INTPTR_C(c) INT64_C(c)
+# define UINTPTR_C(c) UINT64_C(c)
+# define PTRDIFF_C(c) INT64_C(c)
+#else
+# define INT64_C(c) c ## LL
+# define UINT64_C(c) c ## ULL
+# define INTPTR_C(c) INT32_C(c)
+# define UINTPTR_C(c) UINT32_C(c)
+# define PTRDIFF_C(c) INT32_C(c)
+#endif
+
+#define INT8_MIN (-128)
+#define INT8_MAX (127)
+#define INT_LEAST8_MIN INT8_MIN
+#define INT_LEAST8_MAX INT8_MAX
+#define INT_FAST8_MIN INT8_MIN
+#define INT_FAST8_MAX INT8_MAX
+
+#define UINT8_MAX (255)
+#define UINT_LEAST8_MAX UINT8_MAX
+#define UINT_FAST8_MAX UINT8_MAX
+
+#define INT16_MIN (-32768)
+#define INT16_MAX (32767)
+#define INT_LEAST16_MIN INT16_MIN
+#define INT_LEAST16_MAX INT16_MAX
+#define INT_FAST16_MIN INT32_MIN
+#define INT_FAST16_MAX INT32_MAX
+
+#define UINT16_MAX (65535)
+#define UINT_LEAST16_MAX UINT16_MAX
+#define UINT_FAST16_MAX UINT32_MAX
+
+#define INT32_MIN (-2147483647-1)
+#define INT32_MAX (2147483647)
+#define INT_LEAST32_MIN INT32_MIN
+#define INT_LEAST32_MAX INT32_MAX
+#define INT_FAST32_MIN INT32_MIN
+#define INT_FAST32_MAX INT32_MAX
+
+#define UINT32_MAX (4294967295U)
+#define UINT_LEAST32_MAX UINT32_MAX
+#define UINT_FAST32_MAX UINT32_MAX
+
+#define INT64_MIN (INT64_C(-9223372036854775807)-1)
+#define INT64_MAX (INT64_C(9223372036854775807))
+#define INT_LEAST64_MIN INT64_MIN
+#define INT_LEAST64_MAX INT64_MAX
+#define INT_FAST64_MIN INT64_MIN
+#define INT_FAST64_MAX INT64_MAX
+#define UINT64_MAX (UINT64_C(18446744073709551615))
+
+#define UINT_LEAST64_MAX UINT64_MAX
+#define UINT_FAST64_MAX UINT64_MAX
+
+#define INTMAX_MIN INT64_MIN
+#define INTMAX_MAX INT64_MAX
+#define UINTMAX_MAX UINT64_MAX
+
+#define SIG_ATOMIC_MAX INT32_MAX
+#define SIG_ATOMIC_MIN INT32_MIN
+
+#ifndef WCHAR_MAX /* These might also have been defined by <wchar.h>. */
+# define WCHAR_MAX INT32_MAX
+# define WCHAR_MIN INT32_MIN
+#endif
+
+#define WINT_MAX INT32_MAX
+#define WINT_MIN INT32_MIN
+
+#ifdef __LP64__
+# define INTPTR_MIN INT64_MIN
+# define INTPTR_MAX INT64_MAX
+# define UINTPTR_MAX UINT64_MAX
+# define PTRDIFF_MIN INT64_MIN
+# define PTRDIFF_MAX INT64_MAX
+# define SIZE_MAX UINT64_MAX
+#else
+# define INTPTR_MIN INT32_MIN
+# define INTPTR_MAX INT32_MAX
+# define UINTPTR_MAX UINT32_MAX
+# define PTRDIFF_MIN INT32_MIN
+# define PTRDIFF_MAX INT32_MAX
+# define SIZE_MAX UINT32_MAX
+#endif
+
#endif /* _STDINT_H */