diff options
author | andreast <andreast@FreeBSD.org> | 2012-01-04 16:02:52 +0000 |
---|---|---|
committer | andreast <andreast@FreeBSD.org> | 2012-01-04 16:02:52 +0000 |
commit | 0fa8414b70b850a771c5711596fe26b7f69ac306 (patch) | |
tree | de00999fbf1d7ec0dfc537312209dc74777a59a5 /sys/powerpc/include | |
parent | 4e0513fc7319e0f13aae52a26921b4d7ecd23591 (diff) | |
download | FreeBSD-src-0fa8414b70b850a771c5711596fe26b7f69ac306.zip FreeBSD-src-0fa8414b70b850a771c5711596fe26b7f69ac306.tar.gz |
Introduce internal macros for __U/INT64_C to define the U/INT64_MAX/MIN
values properly. The previous definition only worked if __STDC_LIMIT_MACROS
and __STDC_CONSTANT_MACROS were defined at the same time.
Diffstat (limited to 'sys/powerpc/include')
-rw-r--r-- | sys/powerpc/include/_stdint.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/sys/powerpc/include/_stdint.h b/sys/powerpc/include/_stdint.h index 3e34966..a014ac6 100644 --- a/sys/powerpc/include/_stdint.h +++ b/sys/powerpc/include/_stdint.h @@ -65,6 +65,14 @@ #if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) +#ifdef __LP64__ +#define __INT64_C(c) (c ## L) +#define __UINT64_C(c) (c ## UL) +#else +#define __INT64_C(c) (c ## LL) +#define __UINT64_C(c) (c ## ULL) +#endif + /* * ISO/IEC 9899:1999 * 7.18.2.1 Limits of exact-width integer types @@ -73,19 +81,19 @@ #define INT8_MIN (-0x7f-1) #define INT16_MIN (-0x7fff-1) #define INT32_MIN (-0x7fffffff-1) -#define INT64_MIN (-INT64_C(0x7fffffffffffffff)-1) +#define INT64_MIN (-__INT64_C(0x7fffffffffffffff)-1) /* Maximum values of exact-width signed integer types. */ #define INT8_MAX 0x7f #define INT16_MAX 0x7fff #define INT32_MAX 0x7fffffff -#define INT64_MAX INT64_C(0x7fffffffffffffff) +#define INT64_MAX __INT64_C(0x7fffffffffffffff) /* Maximum values of exact-width unsigned integer types. */ #define UINT8_MAX 0xff #define UINT16_MAX 0xffff #define UINT32_MAX 0xffffffff -#define UINT64_MAX UINT64_C(0xffffffffffffffff) +#define UINT64_MAX __UINT64_C(0xffffffffffffffff) /* * ISO/IEC 9899:1999 |