diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2000-03-26 19:01:55 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2000-03-26 14:01:55 -0500 |
commit | ad41cc2a20f92582f8092ec0aace33cb600277bb (patch) | |
tree | 31e1f65a65f2d08101e10be677ffa2b0f9d62f5c /gcc/stor-layout.c | |
parent | ec386958dacc648b01a60b0b32d21c6fdcfc3c49 (diff) | |
download | gcc-ad41cc2a20f92582f8092ec0aace33cb600277bb.zip gcc-ad41cc2a20f92582f8092ec0aace33cb600277bb.tar.gz gcc-ad41cc2a20f92582f8092ec0aace33cb600277bb.tar.bz2 |
stor-layout.c (layout_type, [...]): early_type_list is now a list of TREE_LIST entries, not types.
* stor-layout.c (layout_type, set_sizetype): early_type_list is
now a list of TREE_LIST entries, not types.
* tree.c (build_common_tree_nodes_2): Eliminate dupliate type sets.
* java/decl.c (init_decl_processing): Call initialize_sizetypes once.
Adjust order of making types.
Make bitsize_*_node values.
From-SVN: r32751
Diffstat (limited to 'gcc/stor-layout.c')
-rw-r--r-- | gcc/stor-layout.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c index ada43a0..58ab3f5 100644 --- a/gcc/stor-layout.c +++ b/gcc/stor-layout.c @@ -1427,10 +1427,7 @@ layout_type (type) /* If this type is created before sizetype has been permanently set, record it so set_sizetype can fix it up. */ if (! sizetype_set) - { - TREE_CHAIN (type) = early_type_list; - early_type_list = type; - } + early_type_list = tree_cons (NULL_TREE, type, early_type_list); } /* Create and return a type for signed integers of PRECISION bits. */ @@ -1508,7 +1505,7 @@ set_sizetype (type) int precision = MIN (oprecision + BITS_PER_UNIT_LOG + 1, 2 * HOST_BITS_PER_WIDE_INT); unsigned int i; - tree t, next; + tree t; if (sizetype_set) abort (); @@ -1561,16 +1558,13 @@ set_sizetype (type) /* Go down each of the types we already made and set the proper type for the sizes in them. */ - for (t = early_type_list; t != 0; t = next) + for (t = early_type_list; t != 0; t = TREE_CHAIN (t)) { - next = TREE_CHAIN (t); - TREE_CHAIN (t) = 0; - - if (TREE_CODE (t) != INTEGER_TYPE) + if (TREE_CODE (TREE_VALUE (t)) != INTEGER_TYPE) abort (); - TREE_TYPE (TYPE_SIZE (t)) = bitsizetype; - TREE_TYPE (TYPE_SIZE_UNIT (t)) = sizetype; + TREE_TYPE (TYPE_SIZE (TREE_VALUE (t))) = bitsizetype; + TREE_TYPE (TYPE_SIZE_UNIT (TREE_VALUE (t))) = sizetype; } early_type_list = 0; |