diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/java/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/java/expr.c | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 9ed01a6..7193e1a 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,4 +1,10 @@ 2004-06-26 Bryce McKinlay <mckinlay@redhat.com> + + PR java/15734 + * expr.c (expand_java_field_op): Ensure that target class for static + field access has been loaded. + +2004-06-26 Bryce McKinlay <mckinlay@redhat.com> Ranjit Mathew <rmathew@hotmail.com> PR java/1207, java/16178 diff --git a/gcc/java/expr.c b/gcc/java/expr.c index 446f8af..d4f25f8 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -2375,7 +2375,11 @@ expand_java_field_op (int is_static, int is_putting, int field_ref_index) tree new_value = is_putting ? pop_value (field_type) : NULL_TREE; tree field_ref; int is_error = 0; - tree field_decl = lookup_field (&self_type, field_name); + tree field_decl; + + if (! CLASS_LOADED_P (self_type)) + load_class (self_type, 1); + field_decl = lookup_field (&self_type, field_name); if (field_decl == error_mark_node) { is_error = 1; |