aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/java/ChangeLog6
-rw-r--r--gcc/java/expr.c6
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;