diff options
Diffstat (limited to 'gcc/hwint.h')
-rw-r--r-- | gcc/hwint.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/hwint.h b/gcc/hwint.h index b4de0e37082..f866e168c8b 100644 --- a/gcc/hwint.h +++ b/gcc/hwint.h @@ -88,10 +88,11 @@ extern char sizeof_long_long_must_be_8[sizeof(long long) == 8 ? 1 : -1]; # define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%llx%016llx" #endif -/* Set HOST_WIDEST_INT. Unlike HOST_WIDE_INT, this must always be - at least 64 bits wide. */ +/* 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. */ -#if HOST_BITS_PER_WIDE_INT >= 64 +#if HOST_BITS_PER_WIDE_INT >= 64 \ + || (HOST_BITS_PER_LONGLONG < 64 && HOST_BITS_PER___INT64 < 64) # define HOST_WIDEST_INT HOST_WIDE_INT # define HOST_BITS_PER_WIDEST_INT HOST_BITS_PER_WIDE_INT # define HOST_WIDEST_INT_PRINT_DEC HOST_WIDE_INT_PRINT_DEC @@ -110,7 +111,7 @@ extern char sizeof_long_long_must_be_8[sizeof(long long) == 8 ? 1 : -1]; # define HOST_BITS_PER_WIDEST_INT HOST_BITS_PER___INT64 # define HOST_WIDEST_INT __int64 # else - #error "Unable to find a suitable type for HOST_WIDEST_INT" + #error "This line should be impossible to reach" # endif # endif # define HOST_WIDEST_INT_PRINT_DEC "%lld" |