hwint.h (HOST_LONG_LONG_FORMAT): New macro.

* hwint.h (HOST_LONG_LONG_FORMAT): New macro.  Use it throughout.
	* config/i386/xm-mingw32.h (HOST_LONG_LONG_FORMAT): Define.
	* doc/hostconfig.texi (HOST_LONG_LONG_FORMAT): Document.

From-SVN: r91136
This commit is contained in:
Mark Mitchell 2004-11-24 04:31:58 +00:00 committed by Mark Mitchell
parent 0aa06b18fc
commit be6601c384
4 changed files with 29 additions and 6 deletions

View File

@ -1,3 +1,9 @@
2004-11-23 Mark Mitchell <mark@codesourcery.com>
* hwint.h (HOST_LONG_LONG_FORMAT): New macro. Use it throughout.
* config/i386/xm-mingw32.h (HOST_LONG_LONG_FORMAT): Define.
* doc/hostconfig.texi (HOST_LONG_LONG_FORMAT): Document.
2004-11-24 Daniel Jacobowitz <dan@codesourcery.com>
* config/i386/i386.c (override_options): Move

View File

@ -30,3 +30,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
/* The st_ino field of struct stat is always 0. */
#define HOST_LACKS_INODE_NUMBERS
/* MSVCRT does not support the "ll" format specifier for printing
"long long" values. Instead, we use "I64". */
#define HOST_LONG_LONG_FORMAT "I64"

View File

@ -212,6 +212,11 @@ initialization when a compilation driver is being initialized.
Define this macro if the host system has a small limit on the total
size of an argument vector. This causes the driver to take more care
not to pass unnecessary arguments to subprocesses.
@item HOST_LONG_LONG_FORMAT
If defined, the string used to indicate an argument of type @code{long
long} to functions like @code{printf}. The default value is
@code{"ll"}.
@end ftable
In addition, if @command{configure} generates an incorrect definition of

View File

@ -15,6 +15,12 @@
#define HOST_BITS_PER_INT (CHAR_BIT * SIZEOF_INT)
#define HOST_BITS_PER_LONG (CHAR_BIT * SIZEOF_LONG)
/* The string that should be inserted into a printf style format to
indicate a "long long" operand. */
#ifndef HOST_LONG_LONG_FORMAT
#define HOST_LONG_LONG_FORMAT "ll"
#endif
/* If HAVE_LONG_LONG and SIZEOF_LONG_LONG aren't defined, but
GCC_VERSION >= 3000, assume this is the second or later stage of a
bootstrap, we do have long long, and it's 64 bits. (This is
@ -77,7 +83,8 @@ extern char sizeof_long_long_must_be_8[sizeof(long long) == 8 ? 1 : -1];
# 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"
# define HOST_WIDE_INT_PRINT_DOUBLE_HEX \
"0x%" HOST_LONG_LONG_FORMAT "x%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"
@ -109,11 +116,12 @@ extern char sizeof_long_long_must_be_8[sizeof(long long) == 8 ? 1 : -1];
#error "This line should be impossible to reach"
# endif
# endif
# define HOST_WIDEST_INT_PRINT_DEC "%lld"
# define HOST_WIDEST_INT_PRINT_DEC_C "%lldLL"
# define HOST_WIDEST_INT_PRINT_UNSIGNED "%llu"
# define HOST_WIDEST_INT_PRINT_HEX "0x%llx"
# define HOST_WIDEST_INT_PRINT_DOUBLE_HEX "0x%llx%016llx"
# define HOST_WIDEST_INT_PRINT_DEC "%" HOST_LONG_LONG_FORMAT "d"
# define HOST_WIDEST_INT_PRINT_DEC_C "%" HOST_LONG_LONG_FORMAT "dLL"
# define HOST_WIDEST_INT_PRINT_UNSIGNED "%" HOST_LONG_LONG_FORMAT "u"
# define HOST_WIDEST_INT_PRINT_HEX "0x%" HOST_LONG_LONG_FORMAT "x"
# define HOST_WIDEST_INT_PRINT_DOUBLE_HEX \
"0x%" HOST_LONG_LONG_FORMAT "x%016" HOST_LONG_LONG_FORMAT "x"
#endif
/* Define HOST_WIDEST_FAST_INT to the widest integer type supported