fix type issues in stdint.h so underlying types of 64-bit types match ABI

This commit is contained in:
Rich Felker
2013-04-04 20:09:50 -04:00
parent c7af271000
commit f77bab5933
7 changed files with 33 additions and 8 deletions

View File

@ -56,6 +56,9 @@ TYPEDEF uint64_t uint_fast64_t;
TYPEDEF long intptr_t; TYPEDEF long intptr_t;
TYPEDEF unsigned long uintptr_t; TYPEDEF unsigned long uintptr_t;
TYPEDEF long long intmax_t;
TYPEDEF unsigned long long uintmax_t;
TYPEDEF float float_t; TYPEDEF float float_t;
TYPEDEF double double_t; TYPEDEF double double_t;

View File

@ -64,6 +64,9 @@ TYPEDEF uint64_t uint_fast64_t;
TYPEDEF long intptr_t; TYPEDEF long intptr_t;
TYPEDEF unsigned long uintptr_t; TYPEDEF unsigned long uintptr_t;
TYPEDEF long long intmax_t;
TYPEDEF unsigned long long uintmax_t;
#if defined(__FLT_EVAL_METHOD__) && __FLT_EVAL_METHOD__ == 0 #if defined(__FLT_EVAL_METHOD__) && __FLT_EVAL_METHOD__ == 0
TYPEDEF float float_t; TYPEDEF float float_t;
TYPEDEF double double_t; TYPEDEF double double_t;

View File

@ -56,6 +56,9 @@ TYPEDEF uint64_t uint_fast64_t;
TYPEDEF long intptr_t; TYPEDEF long intptr_t;
TYPEDEF unsigned long uintptr_t; TYPEDEF unsigned long uintptr_t;
TYPEDEF long long intmax_t;
TYPEDEF unsigned long long uintmax_t;
TYPEDEF float float_t; TYPEDEF float float_t;
TYPEDEF double double_t; TYPEDEF double double_t;

View File

@ -56,6 +56,9 @@ TYPEDEF uint64_t uint_fast64_t;
TYPEDEF long intptr_t; TYPEDEF long intptr_t;
TYPEDEF unsigned long uintptr_t; TYPEDEF unsigned long uintptr_t;
TYPEDEF long long intmax_t;
TYPEDEF unsigned long long uintmax_t;
TYPEDEF float float_t; TYPEDEF float float_t;
TYPEDEF double double_t; TYPEDEF double double_t;

View File

@ -56,6 +56,9 @@ TYPEDEF uint64_t uint_fast64_t;
TYPEDEF int intptr_t; TYPEDEF int intptr_t;
TYPEDEF unsigned uintptr_t; TYPEDEF unsigned uintptr_t;
TYPEDEF long long intmax_t;
TYPEDEF unsigned long long uintmax_t;
TYPEDEF float float_t; TYPEDEF float float_t;
TYPEDEF double double_t; TYPEDEF double double_t;

View File

@ -55,6 +55,9 @@ TYPEDEF uint64_t uint_fast64_t;
TYPEDEF long intptr_t; TYPEDEF long intptr_t;
TYPEDEF unsigned long uintptr_t; TYPEDEF unsigned long uintptr_t;
TYPEDEF long intmax_t;
TYPEDEF unsigned long uintmax_t;
TYPEDEF float float_t; TYPEDEF float float_t;
TYPEDEF double double_t; TYPEDEF double double_t;

View File

@ -24,6 +24,9 @@
#define __NEED_intptr_t #define __NEED_intptr_t
#define __NEED_uintptr_t #define __NEED_uintptr_t
#define __NEED_intmax_t
#define __NEED_uintmax_t
#include <bits/alltypes.h> #include <bits/alltypes.h>
typedef int8_t int_least8_t; typedef int8_t int_least8_t;
@ -36,25 +39,22 @@ typedef uint16_t uint_least16_t;
typedef uint32_t uint_least32_t; typedef uint32_t uint_least32_t;
typedef uint64_t uint_least64_t; typedef uint64_t uint_least64_t;
typedef long long intmax_t;
typedef unsigned long long uintmax_t;
#if !defined __cplusplus || defined __STDC_LIMIT_MACROS #if !defined __cplusplus || defined __STDC_LIMIT_MACROS
#define INT8_MIN (-1-0x7f) #define INT8_MIN (-1-0x7f)
#define INT16_MIN (-1-0x7fff) #define INT16_MIN (-1-0x7fff)
#define INT32_MIN (-1-0x7fffffff) #define INT32_MIN (-1-0x7fffffff)
#define INT64_MIN (-1-0x7fffffffffffffffLL) #define INT64_MIN (-1-0x7fffffffffffffff)
#define INT8_MAX (0x7f) #define INT8_MAX (0x7f)
#define INT16_MAX (0x7fff) #define INT16_MAX (0x7fff)
#define INT32_MAX (0x7fffffff) #define INT32_MAX (0x7fffffff)
#define INT64_MAX (0x7fffffffffffffffLL) #define INT64_MAX (0x7fffffffffffffff)
#define UINT8_MAX (0xff) #define UINT8_MAX (0xff)
#define UINT16_MAX (0xffff) #define UINT16_MAX (0xffff)
#define UINT32_MAX (0xffffffff) #define UINT32_MAX (0xffffffff)
#define UINT64_MAX (0xffffffffffffffffULL) #define UINT64_MAX (0xffffffffffffffff)
#define INT_LEAST8_MIN INT8_MIN #define INT_LEAST8_MIN INT8_MIN
#define INT_LEAST16_MIN INT16_MIN #define INT_LEAST16_MIN INT16_MIN
@ -95,15 +95,22 @@ typedef unsigned long long uintmax_t;
#define INT8_C(c) c #define INT8_C(c) c
#define INT16_C(c) c #define INT16_C(c) c
#define INT32_C(c) c #define INT32_C(c) c
#define INT64_C(c) c ## LL
#define UINT8_C(c) c #define UINT8_C(c) c
#define UINT16_C(c) c #define UINT16_C(c) c
#define UINT32_C(c) c ## U #define UINT32_C(c) c ## U
#define UINT64_C(c) c ## ULL
#if UINTPTR_MAX == UINT64_MAX
#define INT64_C(c) c ## L
#define UINT64_C(c) c ## UL
#define INTMAX_C(c) c ## L
#define UINTMAX_C(c) c ## UL
#else
#define INT64_C(c) c ## LL
#define UINT64_C(c) c ## ULL
#define INTMAX_C(c) c ## LL #define INTMAX_C(c) c ## LL
#define UINTMAX_C(c) c ## ULL #define UINTMAX_C(c) c ## ULL
#endif
#endif #endif