diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-03-26 19:01:55 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-03-26 19:01:55 +0000 |
commit | eff5f0365cd41a4038f211f87d7102be5619f6f2 (patch) | |
tree | 31e1f65a65f2d08101e10be677ffa2b0f9d62f5c /gcc/java/decl.c | |
parent | 2404485e4d84ae55a1db84a03cec1207762ea634 (diff) | |
download | gcc-eff5f0365cd41a4038f211f87d7102be5619f6f2.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32751 138bc75d-0d04-0410-961f-82ee72b054a4
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 f5cd80ef76f..ebe591dc8d3 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; |