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 unsigned long uintptr_t;
TYPEDEF long long intmax_t;
TYPEDEF unsigned long long uintmax_t;
TYPEDEF float float_t;
TYPEDEF double double_t;

View File

@ -64,6 +64,9 @@ TYPEDEF uint64_t uint_fast64_t;
TYPEDEF long intptr_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
TYPEDEF float float_t;
TYPEDEF double double_t;

View File

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

View File

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

View File

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

View File

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

View File

@ -24,6 +24,9 @@
#define __NEED_intptr_t
#define __NEED_uintptr_t
#define __NEED_intmax_t
#define __NEED_uintmax_t
#include <bits/alltypes.h>
typedef int8_t int_least8_t;
@ -36,25 +39,22 @@ typedef uint16_t uint_least16_t;
typedef uint32_t uint_least32_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
#define INT8_MIN (-1-0x7f)
#define INT16_MIN (-1-0x7fff)
#define INT32_MIN (-1-0x7fffffff)
#define INT64_MIN (-1-0x7fffffffffffffffLL)
#define INT64_MIN (-1-0x7fffffffffffffff)
#define INT8_MAX (0x7f)
#define INT16_MAX (0x7fff)
#define INT32_MAX (0x7fffffff)
#define INT64_MAX (0x7fffffffffffffffLL)
#define INT64_MAX (0x7fffffffffffffff)
#define UINT8_MAX (0xff)
#define UINT16_MAX (0xffff)
#define UINT32_MAX (0xffffffff)
#define UINT64_MAX (0xffffffffffffffffULL)
#define UINT64_MAX (0xffffffffffffffff)
#define INT_LEAST8_MIN INT8_MIN
#define INT_LEAST16_MIN INT16_MIN
@ -95,15 +95,22 @@ typedef unsigned long long uintmax_t;
#define INT8_C(c) c
#define INT16_C(c) c
#define INT32_C(c) c
#define INT64_C(c) c ## LL
#define UINT8_C(c) c
#define UINT16_C(c) c
#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 UINTMAX_C(c) c ## ULL
#endif
#endif