]> granicus.if.org Git - clang/commitdiff
Define INTMAX_MIN, INTMAX_MAX, and UINTMAX_MAX in terms of the limit macros for
authorKen Dyck <ken.dyck@onsemi.com>
Wed, 18 Nov 2009 19:22:15 +0000 (19:22 +0000)
committerKen Dyck <ken.dyck@onsemi.com>
Wed, 18 Nov 2009 19:22:15 +0000 (19:22 +0000)
their corresponding exact-width type.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89224 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Headers/stdint.h
test/Preprocessor/stdint.c

index ecd1bbb5b9ba7f6934f186ccb3ac9ec929dc497e..2b89fa43f3afe8a2c119f2b2cf74ed9251108d68 100644 (file)
@@ -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
index 0786f285b917e025bba180ddbdf787112edf98c6..9652319cc15832f83e87586c4efd7312b38de0dd 100644 (file)
@@ -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
 //
 // 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
 //
 // 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
 //
 // 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
 //
 // 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
 //
 // 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
 //
 // 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
 // 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
 //
 // 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
 // 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
 //
 // 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