aboutsummaryrefslogtreecommitdiff
path: root/gcc/stor-layout.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2000-03-26 19:01:55 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2000-03-26 14:01:55 -0500
commitad41cc2a20f92582f8092ec0aace33cb600277bb (patch)
tree31e1f65a65f2d08101e10be677ffa2b0f9d62f5c /gcc/stor-layout.c
parentec386958dacc648b01a60b0b32d21c6fdcfc3c49 (diff)
downloadgcc-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.c18
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;