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 | |
parent | 863251c18deeee5fc582117e78574d199bf76c6c (diff) | |
download | gcc-7145ef21d8e9c8a3ebe3198f9222a90e9cd060ec.tar.gz |
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')
-rw-r--r-- | gcc/ChangeLog | 19 | ||||
-rw-r--r-- | gcc/tree.c | 2 | ||||
-rw-r--r-- | gcc/tree.h | 61 |
3 files changed, 58 insertions, 24 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 50cc97f8376..6927fb2ba01 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,22 @@ +2000-03-18 Mark Mitchell <mark@codesourcery.com> + + * 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. + Sat Mar 18 14:38:00 2000 Jason Eckhardt <jle@cygnus.com> * bb-reorder.c (reorder_basic_blocks): Update PREV_INSN as well as diff --git a/gcc/tree.c b/gcc/tree.c index c6045fffffe..2693995675c 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -296,6 +296,7 @@ static char *built_in_filename; #define BUILT_IN_FILENAME ("<built-in>") tree global_trees[TI_MAX]; +tree integer_types[itk_none]; /* Init the principal obstacks. */ @@ -333,6 +334,7 @@ init_obstacks () sizeof type_hash_table / sizeof type_hash_table [0], sizeof type_hash_table[0], mark_type_hash); ggc_add_tree_root (global_trees, TI_MAX); + ggc_add_tree_root (integer_types, itk_none); } void 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 |