From 60f82c425b994cd76bb3fe664698a7b527955072 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Sat, 17 May 2014 08:30:14 +0000 Subject: [PATCH] wide-int.cc: Only include longlong.h if W_TYPE_SIZE==32 or __SIZEOF_INT128__ is defined. gcc/ * wide-int.cc: Only include longlong.h if W_TYPE_SIZE==32 or __SIZEOF_INT128__ is defined. From-SVN: r210546 --- gcc/ChangeLog | 5 +++++ gcc/wide-int.cc | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 79ab2476722..2eff66e6ae2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-05-17 Richard Sandiford + + * wide-int.cc: Only include longlong.h if W_TYPE_SIZE==32 or + __SIZEOF_INT128__ is defined. + 2014-05-17 Richard Sandiford * config/rs6000/rs6000.c (rs6000_real_tls_symbol_ref_p): New function. diff --git a/gcc/wide-int.cc b/gcc/wide-int.cc index 69a15bcd148..3bfae2c9cd3 100644 --- a/gcc/wide-int.cc +++ b/gcc/wide-int.cc @@ -27,13 +27,18 @@ along with GCC; see the file COPYING3. If not see #include "tree.h" #include "dumpfile.h" -#if GCC_VERSION >= 3000 #define W_TYPE_SIZE HOST_BITS_PER_WIDE_INT +#if GCC_VERSION >= 3000 && (W_TYPE_SIZE == 32 || defined (__SIZEOF_INT128__)) typedef unsigned HOST_HALF_WIDE_INT UHWtype; typedef unsigned HOST_WIDE_INT UWtype; typedef unsigned int UQItype __attribute__ ((mode (QI))); typedef unsigned int USItype __attribute__ ((mode (SI))); typedef unsigned int UDItype __attribute__ ((mode (DI))); +#if W_TYPE_SIZE == 32 +typedef unsigned int UDWtype __attribute__ ((mode (DI))); +#else +typedef unsigned int UDWtype __attribute__ ((mode (TI))); +#endif #include "longlong.h" #endif