diff options
author | Ken Dyck <ken.dyck@onsemi.com> | 2009-11-18 19:22:15 +0000 |
---|---|---|
committer | Ken Dyck <ken.dyck@onsemi.com> | 2009-11-18 19:22:15 +0000 |
commit | db57ce577108104a0ecacda2f9a9da5609ebd9d8 (patch) | |
tree | 7a0b1722e9ed8ab1a820b0859122e9f78a8d5545 | |
parent | 33ced0b8550f3e7169f326944731ee02e9338659 (diff) |
Define INTMAX_MIN, INTMAX_MAX, and UINTMAX_MAX in terms of the limit macros for
their corresponding exact-width type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89224 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Headers/stdint.h | 6 | ||||
-rw-r--r-- | test/Preprocessor/stdint.c | 30 |
2 files changed, 18 insertions, 18 deletions
diff --git a/lib/Headers/stdint.h b/lib/Headers/stdint.h index ecd1bbb5b9..2b89fa43f3 100644 --- a/lib/Headers/stdint.h +++ b/lib/Headers/stdint.h @@ -634,9 +634,9 @@ typedef __stdint_exjoin3(uint, __INTMAX_WIDTH__, _t) uintmax_t; #endif /* C99 7.18.2.5 Limits of greatest-width integer types. */ -#define INTMAX_MIN (-__INTMAX_MAX__-1) -#define INTMAX_MAX __INTMAX_MAX__ -#define UINTMAX_MAX (__INTMAX_MAX__*2ULL+1ULL) +#define INTMAX_MIN __stdint_exjoin3( INT, __INTMAX_WIDTH__, _MIN) +#define INTMAX_MAX __stdint_exjoin3( INT, __INTMAX_WIDTH__, _MAX) +#define UINTMAX_MAX __stdint_exjoin3(UINT, __INTMAX_WIDTH__, _MAX) /* C99 7.18.3 Limits of other integer types. */ #define SIG_ATOMIC_MIN INT32_MIN diff --git a/test/Preprocessor/stdint.c b/test/Preprocessor/stdint.c index 0786f285b9..9652319cc1 100644 --- a/test/Preprocessor/stdint.c +++ b/test/Preprocessor/stdint.c @@ -83,7 +83,7 @@ // // ARM:INTMAX_MIN_ (-9223372036854775807LL -1) // ARM:INTMAX_MAX_ 9223372036854775807LL -// ARM:UINTMAX_MAX_ (9223372036854775807LL*2ULL +1ULL) +// ARM:UINTMAX_MAX_ 18446744073709551615ULL // // ARM:SIG_ATOMIC_MIN_ (-2147483647 -1) // ARM:SIG_ATOMIC_MAX_ 2147483647 @@ -191,7 +191,7 @@ // // BFIN:INTMAX_MIN_ (-9223372036854775807LL -1) // BFIN:INTMAX_MAX_ 9223372036854775807LL -// BFIN:UINTMAX_MAX_ (9223372036854775807LL*2ULL +1ULL) +// BFIN:UINTMAX_MAX_ 18446744073709551615ULL // // BFIN:SIG_ATOMIC_MIN_ (-2147483647 -1) // BFIN:SIG_ATOMIC_MAX_ 2147483647 @@ -299,7 +299,7 @@ // // I386:INTMAX_MIN_ (-9223372036854775807LL -1) // I386:INTMAX_MAX_ 9223372036854775807LL -// I386:UINTMAX_MAX_ (9223372036854775807LL*2ULL +1ULL) +// I386:UINTMAX_MAX_ 18446744073709551615ULL // // I386:SIG_ATOMIC_MIN_ (-2147483647 -1) // I386:SIG_ATOMIC_MAX_ 2147483647 @@ -399,7 +399,7 @@ // // MSP430:INTMAX_MIN_ (-2147483647L -1) // MSP430:INTMAX_MAX_ 2147483647L -// MSP430:UINTMAX_MAX_ (2147483647L*2ULL +1ULL) +// MSP430:UINTMAX_MAX_ 4294967295UL // // MSP430:SIG_ATOMIC_MIN_ (-2147483647L -1) // MSP430:SIG_ATOMIC_MAX_ 2147483647L @@ -499,7 +499,7 @@ // // PIC16:INTMAX_MIN_ (-2147483647L -1) // PIC16:INTMAX_MAX_ 2147483647L -// PIC16:UINTMAX_MAX_ (2147483647L*2ULL +1ULL) +// PIC16:UINTMAX_MAX_ 4294967295UL // // PIC16:SIG_ATOMIC_MIN_ (-2147483647L -1) // PIC16:SIG_ATOMIC_MAX_ 2147483647L @@ -606,7 +606,7 @@ // // PPC64:INTMAX_MIN_ (-9223372036854775807L -1) // PPC64:INTMAX_MAX_ 9223372036854775807L -// PPC64:UINTMAX_MAX_ (9223372036854775807L*2ULL +1ULL) +// PPC64:UINTMAX_MAX_ 18446744073709551615UL // // PPC64:SIG_ATOMIC_MIN_ (-2147483647 -1) // PPC64:SIG_ATOMIC_MAX_ 2147483647 @@ -714,7 +714,7 @@ // // PPC:INTMAX_MIN_ (-9223372036854775807LL -1) // PPC:INTMAX_MAX_ 9223372036854775807LL -// PPC:UINTMAX_MAX_ (9223372036854775807LL*2ULL +1ULL) +// PPC:UINTMAX_MAX_ 18446744073709551615ULL // // PPC:SIG_ATOMIC_MIN_ (-2147483647 -1) // PPC:SIG_ATOMIC_MAX_ 2147483647 @@ -819,9 +819,9 @@ // S390X:PTRDIFF_MAX_ 9223372036854775807L // S390X:SIZE_MAX_ 18446744073709551615UL // -// S390X:INTMAX_MIN_ (-9223372036854775807LL -1) -// S390X:INTMAX_MAX_ 9223372036854775807LL -// S390X:UINTMAX_MAX_ (9223372036854775807LL*2ULL +1ULL) +// S390X:INTMAX_MIN_ (-9223372036854775807L -1) +// S390X:INTMAX_MAX_ 9223372036854775807L +// S390X:UINTMAX_MAX_ 18446744073709551615UL // // S390X:SIG_ATOMIC_MIN_ (-2147483647 -1) // S390X:SIG_ATOMIC_MAX_ 2147483647 @@ -928,7 +928,7 @@ // // SPARC:INTMAX_MIN_ (-9223372036854775807LL -1) // SPARC:INTMAX_MAX_ 9223372036854775807LL -// SPARC:UINTMAX_MAX_ (9223372036854775807LL*2ULL +1ULL) +// SPARC:UINTMAX_MAX_ 18446744073709551615ULL // // SPARC:SIG_ATOMIC_MIN_ (-2147483647 -1) // SPARC:SIG_ATOMIC_MAX_ 2147483647 @@ -1026,9 +1026,9 @@ // TCE:PTRDIFF_MAX_ 2147483647 // TCE:SIZE_MAX_ 4294967295U // -// TCE:INTMAX_MIN_ (-2147483647L -1) -// TCE:INTMAX_MAX_ 2147483647L -// TCE:UINTMAX_MAX_ (2147483647L*2ULL +1ULL) +// TCE:INTMAX_MIN_ (-2147483647 -1) +// TCE:INTMAX_MAX_ 2147483647 +// TCE:UINTMAX_MAX_ 4294967295U // // TCE:SIG_ATOMIC_MIN_ (-2147483647 -1) // TCE:SIG_ATOMIC_MAX_ 2147483647 @@ -1136,7 +1136,7 @@ // // X86_64:INTMAX_MIN_ (-9223372036854775807L -1) // X86_64:INTMAX_MAX_ 9223372036854775807L -// X86_64:UINTMAX_MAX_ (9223372036854775807L*2ULL +1ULL) +// X86_64:UINTMAX_MAX_ 18446744073709551615UL // // X86_64:SIG_ATOMIC_MIN_ (-2147483647 -1) // X86_64:SIG_ATOMIC_MAX_ 2147483647 |