* libc/include/machine/_default_types.h: Revert change from 2013-10-10.

This commit is contained in:
Corinna Vinschen 2013-10-30 15:51:13 +00:00
parent b8dc053d2b
commit 4afcc6ced9
2 changed files with 101 additions and 19 deletions

View File

@ -1,3 +1,7 @@
2013-10-30 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libc/include/machine/_default_types.h: Revert change from 2013-10-10.
2013-10-24 Hans-Peter Nilsson <hp@axis.com> 2013-10-24 Hans-Peter Nilsson <hp@axis.com>
* libc/include/stdio.h [!__LARGE64_FILES] (funopen): Fix typo * libc/include/stdio.h [!__LARGE64_FILES] (funopen): Fix typo
@ -82,6 +86,10 @@
* libc/sys/rtems/machine/_types.h (_ssize_t): Delete. * libc/sys/rtems/machine/_types.h (_ssize_t): Delete.
(__ssize_t_defined) Likewise. (__ssize_t_defined) Likewise.
2013-10-30 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libc/include/machine/_default_types.h: Revert change from 2013-10-10.
2013-10-10 Sebastian Huber <sebastian.huber@embedded-brains.de> 2013-10-10 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libc/include/machine/_default_types.h (__int8_t): Define via * libc/include/machine/_default_types.h (__int8_t): Define via

View File

@ -5,40 +5,114 @@
#ifndef _MACHINE__DEFAULT_TYPES_H #ifndef _MACHINE__DEFAULT_TYPES_H
#define _MACHINE__DEFAULT_TYPES_H #define _MACHINE__DEFAULT_TYPES_H
#include <stdint.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
typedef int8_t __int8_t ; /*
typedef uint8_t __uint8_t ; * Guess on types by examining *_MIN / *_MAX defines.
*/
#if __GNUC_PREREQ (3, 3)
/* GCC >= 3.3.0 has __<val>__ implicitly defined. */
#define __EXP(x) __##x##__
#else
/* Fall back to POSIX versions from <limits.h> */
#define __EXP(x) x
#include <limits.h>
#endif
#if __EXP(SCHAR_MAX) == 0x7f
typedef signed char __int8_t ;
typedef unsigned char __uint8_t ;
#define ___int8_t_defined 1 #define ___int8_t_defined 1
#endif
typedef int_least8_t __int_least8_t; #if __EXP(INT_MAX) == 0x7fff
typedef uint_least8_t __uint_least8_t; typedef signed int __int16_t;
#define ___int_least8_t_defined 1 typedef unsigned int __uint16_t;
typedef int16_t __int16_t;
typedef uint16_t __uint16_t;
#define ___int16_t_defined 1 #define ___int16_t_defined 1
#elif __EXP(SHRT_MAX) == 0x7fff
typedef signed short __int16_t;
typedef unsigned short __uint16_t;
#define ___int16_t_defined 1
#elif __EXP(SCHAR_MAX) == 0x7fff
typedef signed char __int16_t;
typedef unsigned char __uint16_t;
#define ___int16_t_defined 1
#endif
typedef int_least16_t __int_least16_t; #if ___int16_t_defined
typedef uint_least16_t __uint_least16_t; typedef __int16_t __int_least16_t;
typedef __uint16_t __uint_least16_t;
#define ___int_least16_t_defined 1 #define ___int_least16_t_defined 1
typedef int32_t __int32_t; #if !___int8_t_defined
typedef uint32_t __uint32_t; typedef __int16_t __int_least8_t;
#define ___int32_t_defined 1 typedef __uint16_t __uint_least8_t;
#define ___int_least8_t_defined 1
#endif
#endif
typedef int_least32_t __int_least32_t; #if __EXP(INT_MAX) == 0x7fffffffL
typedef uint_least32_t __uint_least32_t; typedef signed int __int32_t;
typedef unsigned int __uint32_t;
#define ___int32_t_defined 1
#elif __EXP(LONG_MAX) == 0x7fffffffL
typedef signed long __int32_t;
typedef unsigned long __uint32_t;
#define ___int32_t_defined 1
#elif __EXP(SHRT_MAX) == 0x7fffffffL
typedef signed short __int32_t;
typedef unsigned short __uint32_t;
#define ___int32_t_defined 1
#elif __EXP(SCHAR_MAX) == 0x7fffffffL
typedef signed char __int32_t;
typedef unsigned char __uint32_t;
#define ___int32_t_defined 1
#endif
#if ___int32_t_defined
typedef __int32_t __int_least32_t;
typedef __uint32_t __uint_least32_t;
#define ___int_least32_t_defined 1 #define ___int_least32_t_defined 1
typedef int64_t __int64_t; #if !___int8_t_defined
typedef uint64_t __uint64_t; 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 #define ___int64_t_defined 1
/* GCC has __LONG_LONG_MAX__ */
#elif defined(__LONG_LONG_MAX__) && (__LONG_LONG_MAX__ > 0x7fffffff)
typedef signed long long __int64_t;
typedef unsigned long long __uint64_t;
#define ___int64_t_defined 1
/* POSIX mandates LLONG_MAX in <limits.h> */
#elif defined(LLONG_MAX) && (LLONG_MAX > 0x7fffffff)
typedef signed long long __int64_t;
typedef unsigned long long __uint64_t;
#define ___int64_t_defined 1
#elif __EXP(INT_MAX) > 0x7fffffff
typedef signed int __int64_t;
typedef unsigned int __uint64_t;
#define ___int64_t_defined 1
#endif
#undef __EXP
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif