summaryrefslogtreecommitdiff
path: root/gcc/hwint.h
diff options
context:
space:
mode:
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2003-01-06 20:31:16 +0000
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2003-01-06 20:31:16 +0000
commit7b38254300c2b628d34420a3a8a844ddfbb6ca43 (patch)
tree6bdccfa5538281de288c8ad8e1e07594cbb9deca /gcc/hwint.h
parent7798dc704cc34e5142ee6288ecf833a899166da9 (diff)
downloadgcc-7b38254300c2b628d34420a3a8a844ddfbb6ca43.tar.gz
* hwint.h: If the current compiler has no 64-bit type at all,
make HOST_WIDEST_INT 32 bits. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60951 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/hwint.h')
-rw-r--r--gcc/hwint.h9
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"