From 21a9616b39d53c3133d05a34b3e4dae89089ca71 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Wed, 7 Oct 1998 22:37:30 -0600 Subject: [PATCH] c-common.c (type_for_mode): Only return TItype nodes when HOST_BITS_PER_WIDE_INT is >= 64 bits. * c-common.c (type_for_mode): Only return TItype nodes when HOST_BITS_PER_WIDE_INT is >= 64 bits. * c-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. * c-tree.h (intTI_type_node, unsigned_intTI_type_node): Only declare when HOST_BITS_PER_WIDE_INT is >= 64 bits. From-SVN: r22912 --- gcc/c-common.c | 2 ++ gcc/c-decl.c | 8 ++++++++ gcc/c-tree.h | 4 ++++ 3 files changed, 14 insertions(+) diff --git a/gcc/c-common.c b/gcc/c-common.c index 5fcf1bc9a50..820473f836c 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -2146,8 +2146,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; diff --git a/gcc/c-decl.c b/gcc/c-decl.c index 0b6e0186225..99b4ad5ab52 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -151,13 +151,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. */ @@ -3041,8 +3045,10 @@ init_decl_processing () intDI_type_node = make_signed_type (GET_MODE_BITSIZE (DImode)); pushdecl (build_decl (TYPE_DECL, NULL_TREE, intDI_type_node)); +#if HOST_BITS_PER_WIDE_INT >= 64 intTI_type_node = make_signed_type (GET_MODE_BITSIZE (TImode)); pushdecl (build_decl (TYPE_DECL, NULL_TREE, intTI_type_node)); +#endif unsigned_intQI_type_node = make_unsigned_type (GET_MODE_BITSIZE (QImode)); pushdecl (build_decl (TYPE_DECL, NULL_TREE, unsigned_intQI_type_node)); @@ -3056,8 +3062,10 @@ init_decl_processing () unsigned_intDI_type_node = make_unsigned_type (GET_MODE_BITSIZE (DImode)); pushdecl (build_decl (TYPE_DECL, NULL_TREE, unsigned_intDI_type_node)); +#if HOST_BITS_PER_WIDE_INT >= 64 unsigned_intTI_type_node = make_unsigned_type (GET_MODE_BITSIZE (TImode)); pushdecl (build_decl (TYPE_DECL, NULL_TREE, unsigned_intTI_type_node)); +#endif float_type_node = make_node (REAL_TYPE); TYPE_PRECISION (float_type_node) = FLOAT_TYPE_SIZE; diff --git a/gcc/c-tree.h b/gcc/c-tree.h index c615ac2bee5..3e73299d47b 100644 --- a/gcc/c-tree.h +++ b/gcc/c-tree.h @@ -213,7 +213,9 @@ extern tree double_ftype_double; extern tree double_ftype_double_double; extern tree double_type_node; extern tree float_type_node; +#if HOST_BITS_PER_WIDE_INT >= 64 extern tree intTI_type_node; +#endif extern tree intDI_type_node; extern tree intHI_type_node; extern tree intQI_type_node; @@ -243,7 +245,9 @@ extern tree signed_wchar_type_node; extern tree string_ftype_ptr_ptr; extern tree string_type_node; extern tree unsigned_char_type_node; +#if HOST_BITS_PER_WIDE_INT >= 64 extern tree unsigned_intTI_type_node; +#endif extern tree unsigned_intDI_type_node; extern tree unsigned_intHI_type_node; extern tree unsigned_intQI_type_node;