diff options
author | Mark Mitchell <mark@codesourcery.com> | 2000-03-19 00:37:52 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2000-03-19 00:37:52 +0000 |
commit | 7145ef21d8e9c8a3ebe3198f9222a90e9cd060ec (patch) | |
tree | dcf9c5e55679fe645841b71c6dff1bb75d8ece27 /gcc/tree.h | |
parent | 863251c18deeee5fc582117e78574d199bf76c6c (diff) | |
download | gcc-7145ef21d8e9c8a3ebe3198f9222a90e9cd060ec.zip gcc-7145ef21d8e9c8a3ebe3198f9222a90e9cd060ec.tar.gz gcc-7145ef21d8e9c8a3ebe3198f9222a90e9cd060ec.tar.bz2 |
tree.h (tree_index): Remove enumerals for integer types.
* 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.
From-SVN: r32624
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 61 |
1 files changed, 37 insertions, 24 deletions
@@ -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 |