aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1998-10-08 05:01:10 +0000
committerJeff Law <law@gcc.gnu.org>1998-10-07 23:01:10 -0600
commite39b138b413a06ee880c3faffe15c592486ec943 (patch)
tree2dcfde163394cfd7c439dedb88942b64ef934f87
parentb03fc8c9bd81309b56cb3eba1e178ec6feab0dd8 (diff)
downloadgcc-e39b138b413a06ee880c3faffe15c592486ec943.zip
gcc-e39b138b413a06ee880c3faffe15c592486ec943.tar.gz
gcc-e39b138b413a06ee880c3faffe15c592486ec943.tar.bz2
typeck (type_for_mode): Only return TItype nodes when HOST_BITS_PER_WIDE_INT is >= 64 bits.
* typeck (type_for_mode): Only return TItype nodes when HOST_BITS_PER_WIDE_INT is >= 64 bits. (type_for_size): Similarly. * decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare when HOST_BITS_PER_WIDE_INT is >= 64 bits. (init_decl_processing): Only create TItype nodes when HOST_BITS_PER_WIDE_INT is >= 64 bits. From-SVN: r22914
-rw-r--r--gcc/ch/ChangeLog10
-rw-r--r--gcc/ch/decl.c8
-rw-r--r--gcc/ch/typeck.c8
3 files changed, 26 insertions, 0 deletions
diff --git a/gcc/ch/ChangeLog b/gcc/ch/ChangeLog
index 450c956..558632d 100644
--- a/gcc/ch/ChangeLog
+++ b/gcc/ch/ChangeLog
@@ -1,3 +1,13 @@
+Thu Oct 8 05:57:41 1998 Jeffrey A Law (law@cygnus.com)
+
+ * typeck (type_for_mode): Only return TItype nodes when
+ HOST_BITS_PER_WIDE_INT is >= 64 bits.
+ (type_for_size): Similarly.
+ * decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare
+ when HOST_BITS_PER_WIDE_INT is >= 64 bits.
+ (init_decl_processing): Only create TItype nodes when
+ HOST_BITS_PER_WIDE_INT is >= 64 bits.
+
Wed Oct 7 12:19:21 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* Makefile.in (hash.h): Add -L KR-C -F ', 0, 0, 0' flags to gperf.
diff --git a/gcc/ch/decl.c b/gcc/ch/decl.c
index 9c47359..bf2561f 100644
--- a/gcc/ch/decl.c
+++ b/gcc/ch/decl.c
@@ -353,13 +353,17 @@ tree intQI_type_node;
tree intHI_type_node;
tree intSI_type_node;
tree intDI_type_node;
+#if HOST_BITS_PER_WIDE_INT >= 64
tree intTI_type_node;
+#endif
tree unsigned_intQI_type_node;
tree unsigned_intHI_type_node;
tree unsigned_intSI_type_node;
tree unsigned_intDI_type_node;
+#if HOST_BITS_PER_WIDE_INT >= 64
tree unsigned_intTI_type_node;
+#endif
/* a VOID_TYPE node. */
@@ -3531,12 +3535,16 @@ init_decl_processing ()
intHI_type_node = make_signed_type (GET_MODE_BITSIZE (HImode));
intSI_type_node = make_signed_type (GET_MODE_BITSIZE (SImode));
intDI_type_node = make_signed_type (GET_MODE_BITSIZE (DImode));
+#if HOST_BITS_PER_WIDE_INT >= 64
intTI_type_node = make_signed_type (GET_MODE_BITSIZE (TImode));
+#endif
unsigned_intQI_type_node = make_unsigned_type (GET_MODE_BITSIZE (QImode));
unsigned_intHI_type_node = make_unsigned_type (GET_MODE_BITSIZE (HImode));
unsigned_intSI_type_node = make_unsigned_type (GET_MODE_BITSIZE (SImode));
unsigned_intDI_type_node = make_unsigned_type (GET_MODE_BITSIZE (DImode));
+#if HOST_BITS_PER_WIDE_INT >= 64
unsigned_intTI_type_node = make_unsigned_type (GET_MODE_BITSIZE (TImode));
+#endif
float_type_node = make_node (REAL_TYPE);
TYPE_PRECISION (float_type_node) = FLOAT_TYPE_SIZE;
diff --git a/gcc/ch/typeck.c b/gcc/ch/typeck.c
index a4795df..1132bab 100644
--- a/gcc/ch/typeck.c
+++ b/gcc/ch/typeck.c
@@ -41,13 +41,17 @@ extern tree intQI_type_node;
extern tree intHI_type_node;
extern tree intSI_type_node;
extern tree intDI_type_node;
+#if HOST_BITS_PER_WIDE_INT >= 64
extern tree intTI_type_node;
+#endif
extern tree unsigned_intQI_type_node;
extern tree unsigned_intHI_type_node;
extern tree unsigned_intSI_type_node;
extern tree unsigned_intDI_type_node;
+#if HOST_BITS_PER_WIDE_INT >= 64
extern tree unsigned_intTI_type_node;
+#endif
/* forward declarations */
static int chill_l_equivalent PROTO((tree, tree, struct mode_chain*));
@@ -3838,8 +3842,10 @@ type_for_size (bits, unsignedp)
if (bits <= TYPE_PRECISION (intDI_type_node))
return unsignedp ? unsigned_intDI_type_node : intDI_type_node;
+#if HOST_BITS_PER_WIDE_INT >= 64
if (bits <= TYPE_PRECISION (intTI_type_node))
return unsignedp ? unsigned_intTI_type_node : intTI_type_node;
+#endif
return 0;
}
@@ -3880,8 +3886,10 @@ type_for_mode (mode, unsignedp)
if (mode == TYPE_MODE (intDI_type_node))
return unsignedp ? unsigned_intDI_type_node : intDI_type_node;
+#if HOST_BITS_PER_WIDE_INT >= 64
if (mode == TYPE_MODE (intTI_type_node))
return unsignedp ? unsigned_intTI_type_node : intTI_type_node;
+#endif
if (mode == TYPE_MODE (float_type_node))
return float_type_node;