aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/decl.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@cygnus.com>2000-03-16 18:32:45 +0000
committerTom Tromey <tromey@gcc.gnu.org>2000-03-16 18:32:45 +0000
commit64aa33dd9c7353a00780a6c6a45c4f835adc2996 (patch)
treea9a67b3bdebd8b47728643d12e9e3d6dffc0f055 /gcc/java/decl.c
parent3c0fca12828829ee5a8c277c1792f59dfd868fef (diff)
downloadgcc-64aa33dd9c7353a00780a6c6a45c4f835adc2996.zip
gcc-64aa33dd9c7353a00780a6c6a45c4f835adc2996.tar.gz
gcc-64aa33dd9c7353a00780a6c6a45c4f835adc2996.tar.bz2
lang.c (flag_hash_synchronization): New global.
* lang.c (flag_hash_synchronization): New global. (lang_f_options): Added `hash-synchronization'. * lang-options.h: Mention -fhash-synchronization. * java-tree.h (flag_hash_synchronization): Declare. * expr.c (java_lang_expand_expr): Only push `sync_info' value when hash table synchronization is disabled. * decl.c (init_decl_processing): Only push `sync_info' value when hash table synchronization is disabled. * class.c (make_class_data): Only push `sync_info' field when hash table synchronization is disabled. Removed dead code. From-SVN: r32593
Diffstat (limited to 'gcc/java/decl.c')
-rw-r--r--gcc/java/decl.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/gcc/java/decl.c b/gcc/java/decl.c
index a0c3734..bd2514a 100644
--- a/gcc/java/decl.c
+++ b/gcc/java/decl.c
@@ -349,7 +349,8 @@ tree double_zero_node;
tree empty_stmt_node;
/* Nodes for boolean constants TRUE and FALSE. */
-tree boolean_true_node, boolean_false_node;
+tree boolean_true_node;
+tree boolean_false_node;
tree TYPE_identifier_node;
tree init_identifier_node;
@@ -413,7 +414,8 @@ push_promoted_type (name, actual_type)
}
/* Nodes for integer constants. */
-tree integer_two_node, integer_four_node;
+tree integer_two_node;
+tree integer_four_node;
tree integer_negative_one_node;
/* Return a definition for a builtin function named NAME and whose data type
@@ -629,8 +631,9 @@ init_decl_processing ()
/* This isn't exactly true, but it is what we have in the source.
There is an unresolved issue here, which is whether the vtable
should be marked by the GC. */
- PUSH_FIELD (object_type_node, field, "sync_info",
- build_pointer_type (object_type_node));
+ if (! flag_hash_synchronization)
+ PUSH_FIELD (object_type_node, field, "sync_info",
+ build_pointer_type (object_type_node));
for (t = TYPE_FIELDS (object_type_node); t != NULL_TREE; t = TREE_CHAIN (t))
FIELD_PRIVATE (t) = 1;
FINISH_RECORD (object_type_node);
@@ -1082,6 +1085,7 @@ pushdecl (x)
return x;
}
+
void
pushdecl_force_head (x)
tree x;
@@ -1125,8 +1129,7 @@ getdecls ()
/* Create a new `struct binding_level'. */
-static
-struct binding_level *
+static struct binding_level *
make_binding_level ()
{
/* NOSTRICT */