summaryrefslogtreecommitdiffstats
path: root/gcc/java/expr.c
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2005-08-16 16:06:43 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2005-08-16 16:06:43 +0000
commitf0fbca59d41847314cc55764e250606813abe586 (patch)
tree7c0b6e95a8ebdb28fbcfca41cd2acb48d5f938f6 /gcc/java/expr.c
parenta9e39b3c581039047716ce787281ce1bf2369fcf (diff)
downloadppe42-gcc-f0fbca59d41847314cc55764e250606813abe586.tar.gz
ppe42-gcc-f0fbca59d41847314cc55764e250606813abe586.zip
PR java/23300.
* expr.c (build_field_ref): Don't generate otable reference when DECL_FIELD_OFFSET is 0. * class.c (maybe_layout_super_class): Pass outer class to do_resolve_class. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103160 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/java/expr.c')
-rw-r--r--gcc/java/expr.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/gcc/java/expr.c b/gcc/java/expr.c
index c5e48a8406d..c29b8a30254 100644
--- a/gcc/java/expr.c
+++ b/gcc/java/expr.c
@@ -1688,13 +1688,7 @@ build_field_ref (tree self_value, tree self_class, tree name)
tree base_type = promote_type (base_class);
if (base_type != TREE_TYPE (self_value))
self_value = fold (build1 (NOP_EXPR, base_type, self_value));
- if (! flag_syntax_only
- && (flag_indirect_dispatch
- /* DECL_FIELD_OFFSET == 0 if we have no reference for
- the field, perhaps because we couldn't find the class
- in which the field is defined.
- FIXME: We should investigate this. */
- || DECL_FIELD_OFFSET (field_decl) == 0))
+ if (! flag_syntax_only && flag_indirect_dispatch)
{
tree otable_index
= build_int_cst (NULL_TREE, get_symbol_table_index
OpenPOWER on IntegriCloud