OSDN Git Service

Remove __STDC_FORMAT_MACROS and __STDC_LIMIT_MACROS guards (and fix SIZE_MAX for...
authorElliott Hughes <enh@google.com>
Sat, 25 Jan 2014 00:37:04 +0000 (16:37 -0800)
committerElliott Hughes <enh@google.com>
Sat, 25 Jan 2014 00:38:07 +0000 (16:38 -0800)
The various committees decided that everyone should get all these macros,
all the time.

Bug: 12708004
Change-Id: Ib56010dcba9b0656e5701546fefb7f78dc0bf916

libc/include/inttypes.h
libc/include/stdint.h
tests/inttypes_test.cpp

index 7c9a2fc..2fd2415 100644 (file)
@@ -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"
 #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 */
index 9bdfb05..be49485 100644 (file)
 #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 */
index ec4a104..df02d1f 100644 (file)
@@ -16,8 +16,6 @@
 
 #include <gtest/gtest.h>
 
-#define __STDC_FORMAT_MACROS // Otherwise not available in C++.
-
 #include <stdio.h>
 #include <inttypes.h>