diff options
Diffstat (limited to 'newlib/libc/include/machine/_default_types.h')
-rw-r--r-- | newlib/libc/include/machine/_default_types.h | 136 |
1 files changed, 36 insertions, 100 deletions
diff --git a/newlib/libc/include/machine/_default_types.h b/newlib/libc/include/machine/_default_types.h index 2bd5f64a0..362e07903 100644 --- a/newlib/libc/include/machine/_default_types.h +++ b/newlib/libc/include/machine/_default_types.h @@ -5,7 +5,9 @@ #ifndef _MACHINE__DEFAULT_TYPES_H #define _MACHINE__DEFAULT_TYPES_H -#include <sys/features.h> +#ifdef __cplusplus +extern "C" { +#endif /* * Guess on types by examining *_MIN / *_MAX defines. @@ -19,25 +21,13 @@ #include <limits.h> #endif -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __INT8_TYPE__ -typedef __INT8_TYPE__ __int8_t; -typedef __UINT8_TYPE__ __uint8_t; -#define ___int8_t_defined 1 -#elif __EXP(SCHAR_MAX) == 0x7f +#if __EXP(SCHAR_MAX) == 0x7f typedef signed char __int8_t ; typedef unsigned char __uint8_t ; #define ___int8_t_defined 1 #endif -#ifdef __INT16_TYPE__ -typedef __INT16_TYPE__ __int16_t; -typedef __UINT16_TYPE__ __uint16_t; -#define ___int16_t_defined 1 -#elif __EXP(INT_MAX) == 0x7fff +#if __EXP(INT_MAX) == 0x7fff typedef signed int __int16_t; typedef unsigned int __uint16_t; #define ___int16_t_defined 1 @@ -51,11 +41,19 @@ typedef unsigned char __uint16_t; #define ___int16_t_defined 1 #endif -#ifdef __INT32_TYPE__ -typedef __INT32_TYPE__ __int32_t; -typedef __UINT32_TYPE__ __uint32_t; -#define ___int32_t_defined 1 -#elif __EXP(INT_MAX) == 0x7fffffffL +#if ___int16_t_defined +typedef __int16_t __int_least16_t; +typedef __uint16_t __uint_least16_t; +#define ___int_least16_t_defined 1 + +#if !___int8_t_defined +typedef __int16_t __int_least8_t; +typedef __uint16_t __uint_least8_t; +#define ___int_least8_t_defined 1 +#endif +#endif + +#if __EXP(INT_MAX) == 0x7fffffffL typedef signed int __int32_t; typedef unsigned int __uint32_t; #define ___int32_t_defined 1 @@ -73,11 +71,24 @@ typedef unsigned char __uint32_t; #define ___int32_t_defined 1 #endif -#ifdef __INT64_TYPE__ -typedef __INT64_TYPE__ __int64_t; -typedef __UINT64_TYPE__ __uint64_t; -#define ___int64_t_defined 1 -#elif __EXP(LONG_MAX) > 0x7fffffff +#if ___int32_t_defined +typedef __int32_t __int_least32_t; +typedef __uint32_t __uint_least32_t; +#define ___int_least32_t_defined 1 + +#if !___int8_t_defined +typedef __int32_t __int_least8_t; +typedef __uint32_t __uint_least8_t; +#define ___int_least8_t_defined 1 +#endif +#if !___int16_t_defined +typedef __int32_t __int_least16_t; +typedef __uint32_t __uint_least16_t; +#define ___int_least16_t_defined 1 +#endif +#endif + +#if __EXP(LONG_MAX) > 0x7fffffff typedef signed long __int64_t; typedef unsigned long __uint64_t; #define ___int64_t_defined 1 @@ -100,81 +111,6 @@ typedef unsigned int __uint64_t; #define ___int64_t_defined 1 #endif -#ifdef __INT_LEAST8_TYPE__ -typedef __INT_LEAST8_TYPE__ __int_least8_t; -typedef __UINT_LEAST8_TYPE__ __uint_least8_t; -#define ___int_least8_t_defined 1 -#elif defined(___int8_t_defined) -typedef __int8_t __int_least8_t; -typedef __uint8_t __uint_least8_t; -#define ___int_least8_t_defined 1 -#elif defined(___int16_t_defined) -typedef __int16_t __int_least8_t; -typedef __uint16_t __uint_least8_t; -#define ___int_least8_t_defined 1 -#elif defined(___int32_t_defined) -typedef __int32_t __int_least8_t; -typedef __uint32_t __uint_least8_t; -#define ___int_least8_t_defined 1 -#elif defined(___int64_t_defined) -typedef __int64_t __int_least8_t; -typedef __uint64_t __uint_least8_t; -#define ___int_least8_t_defined 1 -#endif - -#ifdef __INT_LEAST16_TYPE__ -typedef __INT_LEAST16_TYPE__ __int_least16_t; -typedef __UINT_LEAST16_TYPE__ __uint_least16_t; -#define ___int_least16_t_defined 1 -#elif defined(___int16_t_defined) -typedef __int16_t __int_least16_t; -typedef __uint16_t __uint_least16_t; -#define ___int_least16_t_defined 1 -#elif defined(___int32_t_defined) -typedef __int32_t __int_least16_t; -typedef __uint32_t __uint_least16_t; -#define ___int_least16_t_defined 1 -#elif defined(___int64_t_defined) -typedef __int64_t __int_least16_t; -typedef __uint64_t __uint_least16_t; -#define ___int_least16_t_defined 1 -#endif - -#ifdef __INT_LEAST32_TYPE__ -typedef __INT_LEAST32_TYPE__ __int_least32_t; -typedef __UINT_LEAST32_TYPE__ __uint_least32_t; -#define ___int_least32_t_defined 1 -#elif defined(___int32_t_defined) -typedef __int32_t __int_least32_t; -typedef __uint32_t __uint_least32_t; -#define ___int_least32_t_defined 1 -#elif defined(___int64_t_defined) -typedef __int64_t __int_least32_t; -typedef __uint64_t __uint_least32_t; -#define ___int_least32_t_defined 1 -#endif - -#ifdef __INT_LEAST64_TYPE__ -typedef __INT_LEAST64_TYPE__ __int_least64_t; -typedef __UINT_LEAST64_TYPE__ __uint_least64_t; -#define ___int_least64_t_defined 1 -#elif defined(___int64_t_defined) -typedef __int64_t __int_least64_t; -typedef __uint64_t __uint_least64_t; -#define ___int_least64_t_defined 1 -#endif - -#ifdef __INTPTR_TYPE__ -typedef __INTPTR_TYPE__ __intptr_t; -typedef __UINTPTR_TYPE__ __uintptr_t; -#elif defined(__PTRDIFF_TYPE__) -typedef __PTRDIFF_TYPE__ __intptr_t; -typedef unsigned __PTRDIFF_TYPE__ __uintptr_t; -#else -typedef long __intptr_t; -typedef unsigned long __uintptr_t; -#endif - #undef __EXP #ifdef __cplusplus |