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/java/decl.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/java/decl.c')
-rw-r--r-- | gcc/java/decl.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/gcc/java/decl.c b/gcc/java/decl.c index f5cd80e..ebe591d 100644 --- a/gcc/java/decl.c +++ b/gcc/java/decl.c @@ -457,17 +457,13 @@ init_decl_processing () pushlevel (0); /* make the binding_level structure for global names */ global_binding_level = current_binding_level; + /* The code here must be similar to build_common_tree_nodes{,_2} in + tree.c, especially as to the order of initializing common nodes. */ error_mark_node = make_node (ERROR_MARK); TREE_TYPE (error_mark_node) = error_mark_node; - initialize_sizetypes (); /* Create sizetype first - needed for other types. */ initialize_sizetypes (); - set_sizetype (make_unsigned_type (POINTER_SIZE)); - size_zero_node = build_int_2 (0, 0); - TREE_TYPE (size_zero_node) = sizetype; - size_one_node = build_int_2 (1, 0); - TREE_TYPE (size_one_node) = sizetype; byte_type_node = make_signed_type (8); pushdecl (build_decl (TYPE_DECL, get_identifier ("byte"), byte_type_node)); @@ -491,14 +487,22 @@ init_decl_processing () pushdecl (build_decl (TYPE_DECL, get_identifier ("unsigned long"), unsigned_long_type_node)); - integer_type_node = type_for_size (INT_TYPE_SIZE, 0); + set_sizetype (make_unsigned_type (POINTER_SIZE)); + /* Define these next since types below may used them. */ + integer_type_node = type_for_size (INT_TYPE_SIZE, 0); integer_zero_node = build_int_2 (0, 0); integer_one_node = build_int_2 (1, 0); integer_two_node = build_int_2 (2, 0); integer_four_node = build_int_2 (4, 0); integer_negative_one_node = build_int_2 (-1, 0); + size_zero_node = size_int (0); + size_one_node = size_int (1); + bitsize_zero_node = bitsize_int (0); + bitsize_one_node = bitsize_int (1); + bitsize_unit_node = bitsize_int (BITS_PER_UNIT); + long_zero_node = build_int_2 (0, 0); TREE_TYPE (long_zero_node) = long_type_node; |