diff options
author | Elliott Hughes <enh@google.com> | 2014-01-25 01:25:16 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-01-25 01:25:16 +0000 |
commit | 6f23ce36ce580da3c1419856c71d7426dd64748d (patch) | |
tree | e102909999169cd8422c55f62ce70830e5e921ad /libc | |
parent | b32cc032030e7a9f50b28d6dba5a40a38e6e76cf (diff) | |
parent | e2a292d278b94fec3d078b1f1b27c1f89942c276 (diff) | |
download | android_bionic-6f23ce36ce580da3c1419856c71d7426dd64748d.tar.gz android_bionic-6f23ce36ce580da3c1419856c71d7426dd64748d.tar.bz2 android_bionic-6f23ce36ce580da3c1419856c71d7426dd64748d.zip |
Merge "Remove __STDC_FORMAT_MACROS and __STDC_LIMIT_MACROS guards (and fix SIZE_MAX for LP64)."
Diffstat (limited to 'libc')
-rw-r--r-- | libc/include/inttypes.h | 4 | ||||
-rw-r--r-- | libc/include/stdint.h | 313 |
2 files changed, 119 insertions, 198 deletions
diff --git a/libc/include/inttypes.h b/libc/include/inttypes.h index 7c9a2fc01..2fd2415bf 100644 --- a/libc/include/inttypes.h +++ b/libc/include/inttypes.h @@ -22,8 +22,6 @@ #include <stdint.h> #include <sys/cdefs.h> -#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) || (__cplusplus >= 201103L) - #ifdef __LP64__ #define __PRI_64_prefix "l" #define __PRI_PTR_prefix "l" @@ -250,8 +248,6 @@ #define SCNxMAX "jx" /* uintmax_t */ #define SCNxPTR __PRI_PTR_prefix"x" /* uintptr_t */ -#endif /* __cplusplus || __STDC_FORMAT_MACROS */ - typedef struct { intmax_t quot; /* quotient */ intmax_t rem; /* remainder */ diff --git a/libc/include/stdint.h b/libc/include/stdint.h index 9bdfb0506..be49485f4 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__ */ +typedef uint64_t uintmax_t; +typedef int64_t intmax_t; +/* Keep the kernel from trying to define these types... */ +#define __BIT_TYPES_DEFINED__ -/* - * intmax_t & uintmax_t - */ +#define INT8_C(c) c +#define INT_LEAST8_C(c) INT8_C(c) +#define INT_FAST8_C(c) INT8_C(c) -typedef uint64_t uintmax_t; -typedef int64_t intmax_t; +#define UINT8_C(c) c +#define UINT_LEAST8_C(c) UINT8_C(c) +#define UINT_FAST8_C(c) UINT8_C(c) -#ifdef __STDINT_LIMITS -# define INTMAX_MIN INT64_MIN -# define INTMAX_MAX INT64_MAX -# define UINTMAX_MAX UINT64_MAX -#endif +#define INT16_C(c) c +#define INT_LEAST16_C(c) INT16_C(c) +#define INT_FAST16_C(c) INT32_C(c) -#ifdef __STDINT_MACROS -# define INTMAX_C(c) INT64_C(c) -# define UINTMAX_C(c) UINT64_C(c) -#endif +#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) -/* - * sig_atomic_t, size_t, wchar_t, and wint_t. - */ +#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) -#ifdef __STDINT_LIMITS -# define SIG_ATOMIC_MAX INT32_MAX -# define SIG_ATOMIC_MIN INT32_MIN +#define UINT_LEAST64_C(c) UINT64_C(c) +#define UINT_FAST64_C(c) UINT64_C(c) -# define SIZE_MAX UINT32_MAX +#define INTMAX_C(c) INT64_C(c) +#define UINTMAX_C(c) UINT64_C(c) -# ifndef WCHAR_MAX /* These might also have been defined by <wchar.h>. */ -# define WCHAR_MAX INT32_MAX -# define WCHAR_MIN INT32_MIN -# endif +#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 -# 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 -/* Keep the kernel from trying to define these types... */ -#define __BIT_TYPES_DEFINED__ - #endif /* _STDINT_H */ |