lib: sync <stdint.h> and <stddef.h> from klibc
authorH. Peter Anvin <hpa@zytor.com>
Tue, 21 Jun 2011 04:30:39 +0000 (21:30 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Tue, 21 Jun 2011 04:30:39 +0000 (21:30 -0700)
The stdint.h definition appears to be a total mess.  Clean it up with
the current version from klibc, and revert change of size_t being long
rather than int (it is not on i386).

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
com32/include/bitsize/stddef.h
com32/include/bitsize/stdint.h
com32/include/bitsize/stdintconst.h
com32/include/bitsize/stdintlimits.h
com32/include/stdint.h

index bba48cf..213e8ab 100644 (file)
@@ -6,7 +6,7 @@
 #define _BITSIZE_STDDEF_H
 
 #define _SIZE_T
-typedef unsigned long size_t;
+typedef unsigned int size_t;
 
 #define _PTRDIFF_T
 typedef signed long ptrdiff_t;
index 8cbfc5d..8e444b6 100644 (file)
@@ -5,24 +5,24 @@
 #ifndef _BITSIZE_STDINT_H
 #define _BITSIZE_STDINT_H
 
-typedef signed char int8_t;
-typedef short int int16_t;
-typedef int int32_t;
-typedef long long int int64_t;
+typedef signed char            int8_t;
+typedef short int              int16_t;
+typedef int                    int32_t;
+typedef long long int          int64_t;
 
-typedef unsigned char uint8_t;
-typedef unsigned short int uint16_t;
-typedef unsigned int uint32_t;
-typedef unsigned long long int uint64_t;
+typedef unsigned char          uint8_t;
+typedef unsigned short int     uint16_t;
+typedef unsigned int           uint32_t;
+typedef unsigned long long int uint64_t;
 
-typedef int int_fast16_t;
-typedef int int_fast32_t;
+typedef int                    int_fast16_t;
+typedef int                    int_fast32_t;
 
-typedef unsigned int uint_fast16_t;
-typedef unsigned int uint_fast32_t;
+typedef unsigned int           uint_fast16_t;
+typedef unsigned int           uint_fast32_t;
 
-typedef int intptr_t;
-typedef unsigned int uintptr_t;
+typedef int                    intptr_t;
+typedef unsigned int           uintptr_t;
 
 #define __INT64_C(c)   c ## LL
 #define __UINT64_C(c)  c ## ULL
@@ -31,4 +31,4 @@ typedef unsigned int uintptr_t;
 #define __PRIFAST_RANK ""
 #define __PRIPTR_RANK  ""
 
-#endif /* _BITSIZE_STDINT_H */
+#endif                         /* _BITSIZE_STDINT_H */
index 8157dd0..7db63bd 100644 (file)
@@ -15,4 +15,4 @@
 #define UINTPTR_C(c)    UINT32_C(c)
 #define PTRDIFF_C(c)     INT32_C(c)
 
-#endif /* _BITSIZE_STDINTCONST_H */
+#endif                         /* _BITSIZE_STDINTCONST_H */
index b44fe01..d85094d 100644 (file)
@@ -19,4 +19,4 @@
 #define PTRDIFF_MIN    INT32_MIN
 #define PTRDIFF_MAX    INT32_MAX
 
-#endif /* _BITSIZE_STDINTLIMITS_H */
+#endif                         /* _BITSIZE_STDINTLIMITS_H */
index a0ebbce..f64f027 100644 (file)
 #ifndef _STDINT_H
 #define _STDINT_H
 
-/* Exact types */
+#include <bitsize/stdint.h>
 
-typedef signed char int8_t;
-typedef signed short int16_t;
-typedef signed int int32_t;
-typedef signed long long int64_t;
+typedef int8_t         int_least8_t;
+typedef int16_t                int_least16_t;
+typedef int32_t                int_least32_t;
+typedef int64_t                int_least64_t;
 
-typedef unsigned char uint8_t;
-typedef unsigned short uint16_t;
-typedef unsigned int uint32_t;
-typedef unsigned long long uint64_t;
+typedef uint8_t                uint_least8_t;
+typedef uint16_t       uint_least16_t;
+typedef uint32_t       uint_least32_t;
+typedef uint64_t       uint_least64_t;
 
-/* Small types */
+typedef int8_t         int_fast8_t;
+typedef int64_t                int_fast64_t;
 
-typedef signed char int_least8_t;
-typedef signed short int_least16_t;
-typedef signed int int_least32_t;
-typedef signed long long int_least64_t;
+typedef uint8_t                uint_fast8_t;
+typedef uint64_t       uint_fast64_t;
 
-typedef unsigned char uint_least8_t;
-typedef unsigned short uint_least16_t;
-typedef unsigned int uint_least32_t;
-typedef unsigned long long uint_least64_t;
+typedef int64_t                intmax_t;
+typedef uint64_t       uintmax_t;
 
-/* Fast types */
-
-typedef signed char int_fast8_t;
-typedef signed short int_fast16_t;
-typedef signed int int_fast32_t;
-typedef signed long long int_fast64_t;
-
-typedef unsigned char uint_fast8_t;
-typedef unsigned short uint_fast16_t;
-typedef unsigned int uint_fast32_t;
-typedef unsigned long long uint_fast64_t;
+#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS)
 
-/* Pointer types */
+#define INT8_MIN       (-128)
+#define INT16_MIN      (-32768)
+#define INT32_MIN      (-2147483647-1)
+#define INT64_MIN      (__INT64_C(-9223372036854775807)-1)
 
-typedef signed long intptr_t;
-typedef unsigned long uintptr_t;
+#define INT8_MAX       (127)
+#define INT16_MAX      (32767)
+#define INT32_MAX      (2147483647)
+#define INT64_MAX      (__INT64_C(9223372036854775807))
 
-/* Maximal types */
+#define UINT8_MAX      (255U)
+#define UINT16_MAX     (65535U)
+#define UINT32_MAX     (4294967295U)
+#define UINT64_MAX     (__UINT64_C(18446744073709551615))
 
-typedef int64_t intmax_t;
-typedef uint64_t uintmax_t;
+#define INT_LEAST8_MIN INT8_MIN
+#define INT_LEAST16_MIN        INT16_MIN
+#define INT_LEAST32_MIN        INT32_MIN
+#define INT_LEAST64_MIN        INT64_MIN
 
-/* Rank definitions, used in inttypes.h */
-#define __PRIFAST_RANK ""
-#define __SCNFAST_RANK ""
-#define __PRIPTR_RANK  "l"
-#define __SCNPTR_RANK  "l"
-#define __PRI64_RANK    "ll"
-#define __SCN64_RANK    "ll"
+#define INT_LEAST8_MAX INT8_MAX
+#define INT_LEAST16_MAX        INT16_MAX
+#define INT_LEAST32_MAX        INT32_MAX
+#define INT_LEAST64_MAX        INT64_MAX
 
-/*
- * To be strictly correct...
- */
-#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS)
+#define UINT_LEAST8_MAX         UINT8_MAX
+#define UINT_LEAST16_MAX UINT16_MAX
+#define UINT_LEAST32_MAX UINT32_MAX
+#define UINT_LEAST64_MAX UINT64_MAX
 
-# define INT8_MIN               (-128)
-# define INT16_MIN              (-32767-1)
-# define INT32_MIN              (-2147483647-1)
-# define INT64_MIN              (-9223372036854775807LL-1)
+#define INT_FAST8_MIN  INT8_MIN
+#define INT_FAST64_MIN INT64_MIN
 
-# define INT8_MAX               (127)
-# define INT16_MAX              (32767)
-# define INT32_MAX              (2147483647)
-# define INT64_MAX              (9223372036854775807LL)
+#define INT_FAST8_MAX  INT8_MAX
+#define INT_FAST64_MAX INT64_MAX
 
-# define UINT8_MAX              (255U)
-# define UINT16_MAX             (65535U)
-# define UINT32_MAX             (4294967295U)
-# define UINT64_MAX             (18446744073709551615ULL)
+#define UINT_FAST8_MAX UINT8_MAX
+#define UINT_FAST64_MAX UINT64_MAX
 
-# define INT_LEAST8_MIN               (-128)
-# define INT_LEAST16_MIN              (-32767-1)
-# define INT_LEAST32_MIN              (-2147483647-1)
-# define INT_LEAST64_MIN              (-9223372036854775807LL-1)
+#define INTMAX_MIN     INT64_MIN
+#define INTMAX_MAX     INT64_MAX
+#define UINTMAX_MAX    UINT64_MAX
 
-# define INT_LEAST8_MAX               (127)
-# define INT_LEAST16_MAX              (32767)
-# define INT_LEAST32_MAX              (2147483647)
-# define INT_LEAST64_MAX              (9223372036854775807LL)
+#include <bitsize/stdintlimits.h>
 
-# define UINT_LEAST8_MAX              (255U)
-# define UINT_LEAST16_MAX             (65535U)
-# define UINT_LEAST32_MAX             (4294967295U)
-# define UINT_LEAST64_MAX             (18446744073709551615ULL)
+#endif
 
-# define INT_FAST8_MIN               (-128)
-# define INT_FAST16_MIN              (-32767-1)
-# define INT_FAST32_MIN              (-2147483647-1)
-# define INT_FAST64_MIN              (-9223372036854775807LL-1)
-
-# define INT_FAST8_MAX               (127)
-# define INT_FAST16_MAX              (32767)
-# define INT_FAST32_MAX              (2147483647)
-# define INT_FAST64_MAX              (9223372036854775807LL)
-
-# define UINT_FAST8_MAX              (255U)
-# define UINT_FAST16_MAX             (65535U)
-# define UINT_FAST32_MAX             (4294967295U)
-# define UINT_FAST64_MAX             (18446744073709551615ULL)
-
-# define INTPTR_MIN            (-2147483647-1)
-# define INTPTR_MAX            (2147483647)
-# define UINTPTR_MAX           (4294967295U)
+#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS)
 
-# define INTMAX_MIN            (-9223372036854775807LL-1)
-# define INTMAX_MAX            (9223372036854775807LL)
-# define UINTMAX_MAX           (18446744073709551615ULL)
+#define INT8_C(c)      c
+#define INT16_C(c)     c
+#define INT32_C(c)     c
+#define INT64_C(c)     __INT64_C(c)
 
-/* ptrdiff_t limit */
-# define PTRDIFF_MIN           (-2147483647-1)
-# define PTRDIFF_MAX           (2147483647)
+#define UINT8_C(c)     c ## U
+#define UINT16_C(c)    c ## U
+#define UINT32_C(c)    c ## U
+#define UINT64_C(c)    __UINT64_C(c)
 
-/* sig_atomic_t limit */
-# define SIG_ATOMIC_MIN         (-2147483647-1)
-# define SIG_ATOMIC_MAX         (2147483647)
+#define INT_LEAST8_C(c)         INT8_C(c)
+#define INT_LEAST16_C(c) INT16_C(c)
+#define INT_LEAST32_C(c) INT32_C(c)
+#define INT_LEAST64_C(c) INT64_C(c)
 
-/* size_t limit */
-# define SIZE_MAX              (4294967295U)
+#define UINT_LEAST8_C(c)  UINT8_C(c)
+#define UINT_LEAST16_C(c) UINT16_C(c)
+#define UINT_LEAST32_C(c) UINT32_C(c)
+#define UINT_LEAST64_C(c) UINT64_C(c)
 
-#endif /* STDC_LIMIT_MACROS */
+#define INT_FAST8_C(c) INT8_C(c)
+#define INT_FAST64_C(c) INT64_C(c)
 
-#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS)
+#define UINT_FAST8_C(c)  UINT8_C(c)
+#define UINT_FAST64_C(c) UINT64_C(c)
 
-# define INT8_C(n)     n
-# define INT16_C(n)    n
-# define INT32_C(n)    n
-# define INT64_C(n)    n ## LL
+#define INTMAX_C(c)    INT64_C(c)
+#define UINTMAX_C(c)   UINT64_C(c)
 
-# define UINT8_C(n)    n ## U
-# define UINT16_C(n)   n ## U
-# define UINT32_C(n)   n ## U
-# define UINT64_C(n)   n ## ULL
+#include <bitsize/stdintconst.h>
 
-# define INTMAX_C(n)   n ## LL
-# define UINTMAX_C(n)  n ## ULL
+#endif
 
-#endif /* STDC_CONSTANT_MACROS */
+/* Keep the kernel from trying to define these types... */
+#define __BIT_TYPES_DEFINED__
 
-#endif /* _STDINT_H */
+#endif                         /* _STDINT_H */