diff options
author | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-03-19 00:37:52 +0000 |
---|---|---|
committer | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-03-19 00:37:52 +0000 |
commit | b06898caf44d3ff6695ca264e3e43a520c5ee183 (patch) | |
tree | dcf9c5e55679fe645841b71c6dff1bb75d8ece27 /gcc/tree.h | |
parent | c6c8267ed643a0c9430adad46e99202040bf5dbe (diff) | |
download | gcc-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.h | 61 |
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 |