diff --git a/gcc/ch/ChangeLog b/gcc/ch/ChangeLog index 450c956793a79241a8f1ee077ce9ba0a231f0289..558632dc1ad519d3af8a86c9e6d175ad2d6dee91 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 9c4735962f88c1a6eefc9478babe00b213d83b9a..bf2561f421918a15db2d3921d04668301fe87b48 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 a4795dfddf4019289f2e4a9a2c8b9a9b0a0d5bd0..1132babc896cfaccb68dcdecec7f0d4df5137d8c 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;