diff options
-rw-r--r-- | cpukit/ChangeLog | 6 | ||||
-rw-r--r-- | cpukit/libcsupport/include/sys/_stdint.h | 7 |
2 files changed, 12 insertions, 1 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 62279bc4af..02142cc315 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,9 @@ +2004-11-07 Ralf Corsepius <ralf.corsepiu@rtems.org> + + * libcsupport/include/sys/_stdint.h: Special-case int64_t (GCC has + __LONG_LONG_MAX__, while POSIX mandates LLONG_MAX. This break + __EXP(LONG_LONG_MAX)). + 2004-11-05 Joel Sherrill <joel@OARcorp.com> * libnetworking/machine/endian.h: Protect BYTE_ORDER from double diff --git a/cpukit/libcsupport/include/sys/_stdint.h b/cpukit/libcsupport/include/sys/_stdint.h index 901e135989..369b1ec1f7 100644 --- a/cpukit/libcsupport/include/sys/_stdint.h +++ b/cpukit/libcsupport/include/sys/_stdint.h @@ -109,7 +109,12 @@ typedef signed long int64_t; typedef unsigned long uint64_t; #define __int64_t_defined 1 #define __rtems_long64 1 -#elif __EXP(LONG_LONG_MAX) > 0x7fffffff +#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 +#define __rtems_longlong64 1 +#elif defined(LLONG_MAX) && (LLONG_MAX > 0x7fffffff) typedef signed long long int64_t; typedef unsigned long long uint64_t; #define __int64_t_defined 1 |