diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-05-28 14:17:45 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-05-28 14:17:45 +0000 |
commit | 09fb1a0adb85c0ced9b1cbf3e354ef3562a04aa9 (patch) | |
tree | 7e99fd84a98ed507f8f0ebd262907a7fc13e2f55 /gcc/hwint.h | |
parent | dbe2840abe44f5b7f3333166547a633abc8fb4ca (diff) | |
download | gcc-09fb1a0adb85c0ced9b1cbf3e354ef3562a04aa9.tar.gz |
2014-05-28 Richard Biener <rguenther@suse.de>
Revert
2014-05-28 Richard Biener <rguenther@suse.de>
* hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211021 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/hwint.h')
-rw-r--r-- | gcc/hwint.h | 61 |
1 files changed, 32 insertions, 29 deletions
diff --git a/gcc/hwint.h b/gcc/hwint.h index f2ecc04ada5..e3b8a8aa7d7 100644 --- a/gcc/hwint.h +++ b/gcc/hwint.h @@ -75,45 +75,48 @@ extern char sizeof_long_long_must_be_8[sizeof (long long) == 8 ? 1 : -1]; typedef before using the __asm_fprintf__ format attribute. */ typedef HOST_WIDE_INT __gcc_host_wide_int__; +/* Various printf format strings for HOST_WIDE_INT. */ + +#if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG +# define HOST_WIDE_INT_PRINT HOST_LONG_FORMAT +# define HOST_WIDE_INT_PRINT_C "L" + /* HOST_BITS_PER_WIDE_INT is 64 bits. */ +# define HOST_WIDE_INT_PRINT_DOUBLE_HEX \ + "0x%" HOST_LONG_FORMAT "x%016" HOST_LONG_FORMAT "x" +# define HOST_WIDE_INT_PRINT_PADDED_HEX \ + "%016" HOST_LONG_FORMAT "x" +#else +# define HOST_WIDE_INT_PRINT HOST_LONG_LONG_FORMAT +# define HOST_WIDE_INT_PRINT_C "LL" + /* HOST_BITS_PER_WIDE_INT is 64 bits. */ +# define HOST_WIDE_INT_PRINT_DOUBLE_HEX \ + "0x%" HOST_LONG_LONG_FORMAT "x%016" HOST_LONG_LONG_FORMAT "x" +# define HOST_WIDE_INT_PRINT_PADDED_HEX \ + "%016" HOST_LONG_LONG_FORMAT "x" +#endif /* HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG */ + +#define HOST_WIDE_INT_PRINT_DEC "%" HOST_WIDE_INT_PRINT "d" +#define HOST_WIDE_INT_PRINT_DEC_C HOST_WIDE_INT_PRINT_DEC HOST_WIDE_INT_PRINT_C +#define HOST_WIDE_INT_PRINT_UNSIGNED "%" HOST_WIDE_INT_PRINT "u" +#define HOST_WIDE_INT_PRINT_HEX "%#" HOST_WIDE_INT_PRINT "x" +#define HOST_WIDE_INT_PRINT_HEX_PURE "%" HOST_WIDE_INT_PRINT "x" + /* Provide C99 <inttypes.h> style format definitions for 64bits. */ #ifndef HAVE_INTTYPES_H -#if HOST_BITS_PER_LONG == 64 -# define GCC_PRI64 HOST_LONG_FORMAT -#else -# define GCC_PRI64 HOST_LONG_LONG_FORMAT -#endif #undef PRId64 -#define PRId64 GCC_PRI64 "d" +#define PRId64 HOST_WIDE_INT_PRINT "d" #undef PRIi64 -#define PRIi64 GCC_PRI64 "i" +#define PRIi64 HOST_WIDE_INT_PRINT "i" #undef PRIo64 -#define PRIo64 GCC_PRI64 "o" +#define PRIo64 HOST_WIDE_INT_PRINT "o" #undef PRIu64 -#define PRIu64 GCC_PRI64 "u" +#define PRIu64 HOST_WIDE_INT_PRINT "u" #undef PRIx64 -#define PRIx64 GCC_PRI64 "x" +#define PRIx64 HOST_WIDE_INT_PRINT "x" #undef PRIX64 -#define PRIX64 GCC_PRI64 "X" +#define PRIX64 HOST_WIDE_INT_PRINT "X" #endif -/* Various printf format strings for HOST_WIDE_INT. */ - -#if HOST_BITS_PER_LONG == 64 -# define HOST_WIDE_INT_PRINT HOST_LONG_FORMAT -# define HOST_WIDE_INT_PRINT_C "L" -#else -# define HOST_WIDE_INT_PRINT HOST_LONG_LONG_FORMAT -# define HOST_WIDE_INT_PRINT_C "LL" -#endif - -#define HOST_WIDE_INT_PRINT_DEC "%" PRId64 -#define HOST_WIDE_INT_PRINT_DEC_C "%" PRId64 HOST_WIDE_INT_PRINT_C -#define HOST_WIDE_INT_PRINT_UNSIGNED "%" PRIu64 -#define HOST_WIDE_INT_PRINT_HEX "%#" PRIx64 -#define HOST_WIDE_INT_PRINT_HEX_PURE "%" PRIx64 -#define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%" PRIx64 "%016" PRIx64 -#define HOST_WIDE_INT_PRINT_PADDED_HEX "%016" PRIx64 - /* Define HOST_WIDEST_FAST_INT to the widest integer type supported efficiently in hardware. (That is, the widest integer type that fits in a hardware register.) Normally this is "long" but on some hosts it |