aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/decl.c
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/java/decl.c
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/java/decl.c')
-rw-r--r--gcc/java/decl.c24
1 files changed, 14 insertions, 10 deletions
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.