summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1998-10-08 04:37:30 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1998-10-08 04:37:30 +0000
commitcc1cc1c7ea63b83095e67d3790e9d78a12382ac3 (patch)
treee7c239b6fd3b61df552b81ad78de6512e2c05a84 /gcc
parentff89ffb26b92796efe6bf2f348d1a2e8db6b874e (diff)
downloadgcc-cc1cc1c7ea63b83095e67d3790e9d78a12382ac3.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22912 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/c-common.c2
-rw-r--r--gcc/c-decl.c8
-rw-r--r--gcc/c-tree.h4
3 files changed, 14 insertions, 0 deletions
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;