aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeff Sturm <jsturm@one-point.com>2003-09-23 03:05:30 +0000
committerJeff Sturm <jsturm@gcc.gnu.org>2003-09-23 03:05:30 +0000
commit92f6e625321d576fdcafebd2ad540f8709508a35 (patch)
tree162a1401e2aef9ade9b4b6fdcf177306eba1c92f /gcc
parent3a1f863f50d8b632272aef9a16c1f3e38157fa60 (diff)
downloadgcc-92f6e625321d576fdcafebd2ad540f8709508a35.zip
gcc-92f6e625321d576fdcafebd2ad540f8709508a35.tar.gz
gcc-92f6e625321d576fdcafebd2ad540f8709508a35.tar.bz2
decl.c (java_init_decl_processing): Don't emit otable decls if flag_indirect_dispatch is not set.
* decl.c (java_init_decl_processing): Don't emit otable decls if flag_indirect_dispatch is not set. From-SVN: r71674
Diffstat (limited to 'gcc')
-rw-r--r--gcc/java/ChangeLog5
-rw-r--r--gcc/java/decl.c24
2 files changed, 19 insertions, 10 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index f0a863b..7ed9f4b 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,8 @@
+2003-09-22 Jeff Sturm <jsturm@one-point.com>
+
+ * decl.c (java_init_decl_processing): Don't emit otable decls
+ if flag_indirect_dispatch is not set.
+
2003-09-21 Richard Henderson <rth@redhat.com>
* class.c, decl.c, jcf-parse.c, jcf-write.c, parse.y,
diff --git a/gcc/java/decl.c b/gcc/java/decl.c
index 7ddf704..858e082 100644
--- a/gcc/java/decl.c
+++ b/gcc/java/decl.c
@@ -634,17 +634,21 @@ java_init_decl_processing (void)
method_symbols_array_ptr_type = build_pointer_type
(method_symbols_array_type);
- otable_decl = build_decl (VAR_DECL, get_identifier ("otable"), otable_type);
- DECL_EXTERNAL (otable_decl) = 1;
- TREE_STATIC (otable_decl) = 1;
- TREE_READONLY (otable_decl) = 1;
- pushdecl (otable_decl);
+ if (flag_indirect_dispatch)
+ {
+ otable_decl = build_decl (VAR_DECL, get_identifier ("otable"),
+ otable_type);
+ DECL_EXTERNAL (otable_decl) = 1;
+ TREE_STATIC (otable_decl) = 1;
+ TREE_READONLY (otable_decl) = 1;
+ pushdecl (otable_decl);
- otable_syms_decl = build_decl (VAR_DECL, get_identifier ("otable_syms"),
- method_symbols_array_type);
- TREE_STATIC (otable_syms_decl) = 1;
- TREE_CONSTANT (otable_syms_decl) = 1;
- pushdecl (otable_syms_decl);
+ otable_syms_decl = build_decl (VAR_DECL, get_identifier ("otable_syms"),
+ method_symbols_array_type);
+ TREE_STATIC (otable_syms_decl) = 1;
+ TREE_CONSTANT (otable_syms_decl) = 1;
+ pushdecl (otable_syms_decl);
+ }
PUSH_FIELD (object_type_node, field, "vtable", dtable_ptr_type);
/* This isn't exactly true, but it is what we have in the source.