summaryrefslogtreecommitdiff
path: root/gcc/java/decl.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2000-03-26 19:01:55 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2000-03-26 19:01:55 +0000
commiteff5f0365cd41a4038f211f87d7102be5619f6f2 (patch)
tree31e1f65a65f2d08101e10be677ffa2b0f9d62f5c /gcc/java/decl.c
parent2404485e4d84ae55a1db84a03cec1207762ea634 (diff)
downloadgcc-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.c18
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;