summaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2000-03-19 00:37:52 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2000-03-19 00:37:52 +0000
commitb06898caf44d3ff6695ca264e3e43a520c5ee183 (patch)
treedcf9c5e55679fe645841b71c6dff1bb75d8ece27 /gcc/tree.h
parentc6c8267ed643a0c9430adad46e99202040bf5dbe (diff)
downloadgcc-b06898caf44d3ff6695ca264e3e43a520c5ee183.tar.gz
* tree.h (tree_index): Remove enumerals for integer types.
(integer_type_kind): New type. (integer_types): New variable. (char_type_node): Adjust. (signed_char_type_node): Likewise. (unsigned_char_type_node): Likewise. (short_integer_type_node): Likewise. (short_unsigned_type_node): Likewise. (integer_type_node): Likewise. (unsigned_type_node): Likewise. (long_integer_type_node): Likewise. (long_unsigned_type_node): Likewise. (long_long_integer_type_node): Likewise. (long_long_unsigned_type_node): Likewise. * tree.c (integer_types): New variable. (init_obstacks): Register it as a root. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32624 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h61
1 files changed, 37 insertions, 24 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index f9503ceca88..9076d5ec39f 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -1515,18 +1515,6 @@ enum tree_index
TI_UINTDI_TYPE,
TI_UINTTI_TYPE,
- TI_CHAR_TYPE,
- TI_SIGNED_CHAR_TYPE,
- TI_UNSIGNED_CHAR_TYPE,
- TI_INTEGER_TYPE,
- TI_UNSIGNED_TYPE,
- TI_SHORT_INTEGER_TYPE,
- TI_SHORT_UNSIGNED_TYPE,
- TI_LONG_INTEGER_TYPE,
- TI_LONG_UNSIGNED_TYPE,
- TI_LONG_LONG_INTEGER_TYPE,
- TI_LONG_LONG_UNSIGNED_TYPE,
-
TI_INTEGER_ZERO,
TI_INTEGER_ONE,
TI_NULL_POINTER,
@@ -1568,18 +1556,6 @@ extern tree global_trees[TI_MAX];
#define unsigned_intDI_type_node global_trees[TI_UINTDI_TYPE]
#define unsigned_intTI_type_node global_trees[TI_UINTTI_TYPE]
-#define char_type_node global_trees[TI_CHAR_TYPE]
-#define signed_char_type_node global_trees[TI_SIGNED_CHAR_TYPE]
-#define unsigned_char_type_node global_trees[TI_UNSIGNED_CHAR_TYPE]
-#define short_integer_type_node global_trees[TI_SHORT_INTEGER_TYPE]
-#define short_unsigned_type_node global_trees[TI_SHORT_UNSIGNED_TYPE]
-#define integer_type_node global_trees[TI_INTEGER_TYPE]
-#define unsigned_type_node global_trees[TI_UNSIGNED_TYPE]
-#define long_integer_type_node global_trees[TI_LONG_INTEGER_TYPE]
-#define long_unsigned_type_node global_trees[TI_LONG_UNSIGNED_TYPE]
-#define long_long_integer_type_node global_trees[TI_LONG_LONG_INTEGER_TYPE]
-#define long_long_unsigned_type_node global_trees[TI_LONG_LONG_UNSIGNED_TYPE]
-
#define integer_zero_node global_trees[TI_INTEGER_ZERO]
#define integer_one_node global_trees[TI_INTEGER_ONE]
#define size_zero_node global_trees[TI_SIZE_ZERO]
@@ -1602,6 +1578,43 @@ extern tree global_trees[TI_MAX];
#define const_ptr_type_node global_trees[TI_CONST_PTR_TYPE]
#define ptrdiff_type_node global_trees[TI_PTRDIFF_TYPE]
#define va_list_type_node global_trees[TI_VA_LIST_TYPE]
+
+/* An enumeration of the standard C integer types. These must be
+ ordered so that shorter types appear before longer ones. */
+enum integer_type_kind
+{
+ itk_char,
+ itk_signed_char,
+ itk_unsigned_char,
+ itk_short,
+ itk_unsigned_short,
+ itk_int,
+ itk_unsigned_int,
+ itk_long,
+ itk_unsigned_long,
+ itk_long_long,
+ itk_unsigned_long_long,
+ itk_none
+};
+
+typedef enum integer_type_kind integer_type_kind;
+
+/* The standard C integer types. Use integer_type_kind to index into
+ this array. */
+extern tree integer_types[itk_none];
+
+#define char_type_node integer_types[itk_char]
+#define signed_char_type_node integer_types[itk_signed_char]
+#define unsigned_char_type_node integer_types[itk_unsigned_char]
+#define short_integer_type_node integer_types[itk_short]
+#define short_unsigned_type_node integer_types[itk_unsigned_short]
+#define integer_type_node integer_types[itk_int]
+#define unsigned_type_node integer_types[itk_unsigned_int]
+#define long_integer_type_node integer_types[itk_long]
+#define long_unsigned_type_node integer_types[itk_unsigned_long]
+#define long_long_integer_type_node integer_types[itk_long_long]
+#define long_long_unsigned_type_node integer_types[itk_unsigned_long_long]
+
#define NULL_TREE (tree) NULL