diff options
author | Joseph Myers <jsm@polyomino.org.uk> | 2004-08-05 01:38:31 +0100 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2004-08-05 01:38:31 +0100 |
commit | 852910694f6d4480afd733a62fd6b93de62b51e6 (patch) | |
tree | 06690c205a19e52eb65cb0ac2b6391e8c47bc57c /gcc/testsuite/gcc.c-torture | |
parent | 5a05b7c5dad390be66339c575ea4623dfb55cf57 (diff) | |
download | gcc-852910694f6d4480afd733a62fd6b93de62b51e6.zip gcc-852910694f6d4480afd733a62fd6b93de62b51e6.tar.gz gcc-852910694f6d4480afd733a62fd6b93de62b51e6.tar.bz2 |
c-common.c (c_stddef_cpp_builtins): Define __INTMAX_TYPE__ and __UINTMAX_TYPE__.
* c-common.c (c_stddef_cpp_builtins): Define __INTMAX_TYPE__ and
__UINTMAX_TYPE__.
* c-cppbuiltin.c (builtin_define_stdint_macros): New. Define
__INTMAX_MAX__.
(c_cpp_builtins): Call it.
* doc/cpp.texi: Update.
testsuite:
* gcc.c-torture/execute/builtins/abs-2.c,
gcc.c-torture/execute/builtins/abs-3.c,
gcc.c-torture/execute/builtins/lib/abs.c, gcc.dg/format/format.h,
gcc.dg/torture/builtin-attr-1.c: Use predefined macros for
intmax_t, uintmax_t and their limits.
* gcc.dg/intmax_t-1.c: New test.
From-SVN: r85588
Diffstat (limited to 'gcc/testsuite/gcc.c-torture')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/builtins/abs-2.c | 15 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/builtins/abs-3.c | 15 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/builtins/lib/abs.c | 15 |
3 files changed, 5 insertions, 40 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/abs-2.c b/gcc/testsuite/gcc.c-torture/execute/builtins/abs-2.c index 025488d..c13c455 100644 --- a/gcc/testsuite/gcc.c-torture/execute/builtins/abs-2.c +++ b/gcc/testsuite/gcc.c-torture/execute/builtins/abs-2.c @@ -1,20 +1,9 @@ /* Test for builtin abs, labs, llabs, imaxabs. */ /* Origin: Joseph Myers <jsm28@cam.ac.uk> */ -/* These next definitions are kludges. When GCC has a <stdint.h> it - should be used. -*/ #include <limits.h> -#if INT_MAX == __LONG_LONG_MAX__ -typedef int intmax_t; -#define INTMAX_MAX INT_MAX -#elif LONG_MAX == __LONG_LONG_MAX__ -typedef long intmax_t; -#define INTMAX_MAX LONG_MAX -#else -typedef long long intmax_t; -#define INTMAX_MAX __LONG_LONG_MAX__ -#endif +typedef __INTMAX_TYPE__ intmax_t; +#define INTMAX_MAX __INTMAX_MAX__ extern int abs (int); extern long labs (long); diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/abs-3.c b/gcc/testsuite/gcc.c-torture/execute/builtins/abs-3.c index 8300a48..cb0d89e 100644 --- a/gcc/testsuite/gcc.c-torture/execute/builtins/abs-3.c +++ b/gcc/testsuite/gcc.c-torture/execute/builtins/abs-3.c @@ -1,20 +1,9 @@ /* Test for builtin abs, labs, llabs, imaxabs. Test for __builtin versions. */ /* Origin: Joseph Myers <jsm28@cam.ac.uk> */ -/* These next definitions are kludges. When GCC has a <stdint.h> it - should be used. -*/ #include <limits.h> -#if INT_MAX == __LONG_LONG_MAX__ -typedef int intmax_t; -#define INTMAX_MAX INT_MAX -#elif LONG_MAX == __LONG_LONG_MAX__ -typedef long intmax_t; -#define INTMAX_MAX LONG_MAX -#else -typedef long long intmax_t; -#define INTMAX_MAX __LONG_LONG_MAX__ -#endif +typedef __INTMAX_TYPE__ intmax_t; +#define INTMAX_MAX __INTMAX_MAX__ extern void abort (void); extern void link_error (void); diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/lib/abs.c b/gcc/testsuite/gcc.c-torture/execute/builtins/lib/abs.c index 99ca10d..590ded7 100644 --- a/gcc/testsuite/gcc.c-torture/execute/builtins/lib/abs.c +++ b/gcc/testsuite/gcc.c-torture/execute/builtins/lib/abs.c @@ -6,20 +6,7 @@ extern void abort (void); #define ABORT_INSIDE_MAIN do { } while (0) #endif -/* These next definitions are kludges. When GCC has a <stdint.h> it - should be used. -*/ -#include <limits.h> -#if INT_MAX == __LONG_LONG_MAX__ -typedef int intmax_t; -#define INTMAX_MAX INT_MAX -#elif LONG_MAX == __LONG_LONG_MAX__ -typedef long intmax_t; -#define INTMAX_MAX LONG_MAX -#else -typedef long long intmax_t; -#define INTMAX_MAX __LONG_LONG_MAX__ -#endif +typedef __INTMAX_TYPE__ intmax_t; int abs (int x) |