From 85f015e1202e8a9945aa1b81917fcd5fd4de5e72 Mon Sep 17 00:00:00 2001 From: "Kaveh R. Ghazi" Date: Wed, 25 Jun 2003 19:33:08 +0000 Subject: [PATCH] hwint.h (HOST_WIDE_INT_PRINT, [...]): New macros. * hwint.h (HOST_WIDE_INT_PRINT, HOST_WIDE_INT_PRINT_C): New macros. (HOST_WIDE_INT_PRINT_DEC_SPACE, HOST_WIDE_INT_PRINT_UNSIGNED_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_UNSIGNED_SPACE): Delete. (HOST_WIDE_INT_PRINT_DEC, HOST_WIDE_INT_PRINT_DEC_C, HOST_WIDE_INT_PRINT_UNSIGNED, HOST_WIDE_INT_PRINT_HEX): Define in terms of HOST_WIDE_INT_PRINT and possibly HOST_WIDE_INT_PRINT_C. * final.c (asm_fprintf): Use HOST_WIDE_INT_PRINT. * ra-debug.c (dump_static_insn_cost): Likewise. From-SVN: r68489 --- gcc/ChangeLog | 14 ++++++++++++++ gcc/final.c | 13 ++----------- gcc/hwint.h | 27 ++++++++++----------------- gcc/ra-debug.c | 25 ++++++++++--------------- 4 files changed, 36 insertions(+), 43 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 96ad8e7dd5d..c0351c8897a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,17 @@ +2003-06-25 Kaveh R. Ghazi + + * hwint.h (HOST_WIDE_INT_PRINT, HOST_WIDE_INT_PRINT_C): New macros. + (HOST_WIDE_INT_PRINT_DEC_SPACE, + HOST_WIDE_INT_PRINT_UNSIGNED_SPACE, + HOST_WIDEST_INT_PRINT_DEC_SPACE, + HOST_WIDEST_INT_PRINT_UNSIGNED_SPACE): Delete. + (HOST_WIDE_INT_PRINT_DEC, HOST_WIDE_INT_PRINT_DEC_C, + HOST_WIDE_INT_PRINT_UNSIGNED, HOST_WIDE_INT_PRINT_HEX): Define in + terms of HOST_WIDE_INT_PRINT and possibly HOST_WIDE_INT_PRINT_C. + + * final.c (asm_fprintf): Use HOST_WIDE_INT_PRINT. + * ra-debug.c (dump_static_insn_cost): Likewise. + 2003-06-26 Nick Clifton * config/arm/arm.h (BIGGEST_FIELD_ALIGNMENT): Define instead diff --git a/gcc/final.c b/gcc/final.c index dae455d2990..6015cd000e5 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -3419,17 +3419,8 @@ asm_fprintf (FILE *file, const char *p, ...) 'o' cases, but we do not check for those cases. It means that the value is a HOST_WIDE_INT, which may be either `long' or `long long'. */ - -#if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_INT -#else -#if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG - *q++ = 'l'; -#else - *q++ = 'l'; - *q++ = 'l'; -#endif -#endif - + memcpy (q, HOST_WIDE_INT_PRINT, strlen (HOST_WIDE_INT_PRINT)); + q += strlen (HOST_WIDE_INT_PRINT); *q++ = *p++; *q = 0; fprintf (file, buf, va_arg (argptr, HOST_WIDE_INT)); diff --git a/gcc/hwint.h b/gcc/hwint.h index f866e168c8b..4fed004cbf6 100644 --- a/gcc/hwint.h +++ b/gcc/hwint.h @@ -64,12 +64,8 @@ extern char sizeof_long_long_must_be_8[sizeof(long long) == 8 ? 1 : -1]; /* Various printf format strings for HOST_WIDE_INT. */ #if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG -# define HOST_WIDE_INT_PRINT_DEC "%ld" -# define HOST_WIDE_INT_PRINT_DEC_C "%ldL" -# define HOST_WIDE_INT_PRINT_DEC_SPACE "% *ld" -# define HOST_WIDE_INT_PRINT_UNSIGNED "%lu" -# define HOST_WIDE_INT_PRINT_UNSIGNED_SPACE "% *lu" -# define HOST_WIDE_INT_PRINT_HEX "0x%lx" +# define HOST_WIDE_INT_PRINT "l" +# define HOST_WIDE_INT_PRINT_C "L" /* 'long' might be 32 or 64 bits, and the number of leading zeroes must be tweaked accordingly. */ # if HOST_BITS_PER_WIDE_INT == 64 @@ -78,15 +74,16 @@ extern char sizeof_long_long_must_be_8[sizeof(long long) == 8 ? 1 : -1]; # define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%lx%08lx" # endif #else -# define HOST_WIDE_INT_PRINT_DEC "%lld" -# define HOST_WIDE_INT_PRINT_DEC_C "%lldLL" -# define HOST_WIDE_INT_PRINT_DEC_SPACE "% *lld" -# define HOST_WIDE_INT_PRINT_UNSIGNED "%llu" -# define HOST_WIDE_INT_PRINT_UNSIGNED_SPACE "% *llu" -# define HOST_WIDE_INT_PRINT_HEX "0x%llx" +# define HOST_WIDE_INT_PRINT "ll" +# define HOST_WIDE_INT_PRINT_C "LL" /* We can assume that 'long long' is at least 64 bits. */ # define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%llx%016llx" -#endif +#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 "0x%" HOST_WIDE_INT_PRINT "x" /* Set HOST_WIDEST_INT. This is a 64-bit type unless the compiler in use has no 64-bit type at all; in that case it's 32 bits. */ @@ -97,9 +94,7 @@ extern char sizeof_long_long_must_be_8[sizeof(long long) == 8 ? 1 : -1]; # define HOST_BITS_PER_WIDEST_INT HOST_BITS_PER_WIDE_INT # define HOST_WIDEST_INT_PRINT_DEC HOST_WIDE_INT_PRINT_DEC # define HOST_WIDEST_INT_PRINT_DEC_C HOST_WIDE_INT_PRINT_DEC_C -# define HOST_WIDEST_INT_PRINT_DEC_SPACE HOST_WIDE_INT_PRINT_DEC_SPACE # define HOST_WIDEST_INT_PRINT_UNSIGNED HOST_WIDE_INT_PRINT_UNSIGNED -# define HOST_WIDEST_INT_PRINT_UNSIGNED_SPACE HOST_WIDE_INT_PRINT_UNSIGNED_SPACE # define HOST_WIDEST_INT_PRINT_HEX HOST_WIDE_INT_PRINT_HEX # define HOST_WIDEST_INT_PRINT_DOUBLE_HEX HOST_WIDE_INT_PRINT_DOUBLE_HEX #else @@ -116,9 +111,7 @@ extern char sizeof_long_long_must_be_8[sizeof(long long) == 8 ? 1 : -1]; # endif # define HOST_WIDEST_INT_PRINT_DEC "%lld" # define HOST_WIDEST_INT_PRINT_DEC_C "%lldLL" -# define HOST_WIDEST_INT_PRINT_DEC_SPACE "% *lld" # define HOST_WIDEST_INT_PRINT_UNSIGNED "%llu" -# define HOST_WIDEST_INT_PRINT_UNSIGNED_SPACE "% *llu" # define HOST_WIDEST_INT_PRINT_HEX "0x%llx" # define HOST_WIDEST_INT_PRINT_DOUBLE_HEX "0x%llx%016llx" #endif diff --git a/gcc/ra-debug.c b/gcc/ra-debug.c index 17d89b469ee..7d59bac42e3 100644 --- a/gcc/ra-debug.c +++ b/gcc/ra-debug.c @@ -985,21 +985,16 @@ dump_static_insn_cost (file, message, prefix) if (!prefix) prefix = ""; fprintf (file, "static insn cost %s\n", message ? message : ""); - fprintf (file, " %soverall:\tnum=%6d\tcost=" - HOST_WIDE_INT_PRINT_DEC_SPACE "\n", - prefix, overall.count, 8, overall.cost); - fprintf (file, " %sloads:\tnum=%6d\tcost=" - HOST_WIDE_INT_PRINT_DEC_SPACE "\n", - prefix, load.count, 8, load.cost); - fprintf (file, " %sstores:\tnum=%6d\tcost=" - HOST_WIDE_INT_PRINT_DEC_SPACE "\n", - prefix, store.count, 8, store.cost); - fprintf (file, " %sregcopy:\tnum=%6d\tcost=" - HOST_WIDE_INT_PRINT_DEC_SPACE "\n", - prefix, regcopy.count, 8, regcopy.cost); - fprintf (file, " %sselfcpy:\tnum=%6d\tcost=" - HOST_WIDE_INT_PRINT_DEC_SPACE "\n", - prefix, selfcopy.count, 8, selfcopy.cost); + fprintf (file, " %soverall:\tnum=%6d\tcost=% 8" HOST_WIDE_INT_PRINT "d\n", + prefix, overall.count, overall.cost); + fprintf (file, " %sloads:\tnum=%6d\tcost=% 8" HOST_WIDE_INT_PRINT "d\n", + prefix, load.count, load.cost); + fprintf (file, " %sstores:\tnum=%6d\tcost=% 8" HOST_WIDE_INT_PRINT "d\n", + prefix, store.count, store.cost); + fprintf (file, " %sregcopy:\tnum=%6d\tcost=% 8" HOST_WIDE_INT_PRINT "d\n", + prefix, regcopy.count, regcopy.cost); + fprintf (file, " %sselfcpy:\tnum=%6d\tcost=% 8" HOST_WIDE_INT_PRINT "d\n", + prefix, selfcopy.count, selfcopy.cost); } /* Returns nonzero, if WEB1 and WEB2 have some possible -- 2.30.2