summaryrefslogtreecommitdiffstats
path: root/gcc
diff options
context:
space:
mode:
authorbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2004-06-26 20:42:01 +0000
committerbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2004-06-26 20:42:01 +0000
commit6b87a81c933c4fc156e9ea1c79d5dad399caef1f (patch)
tree36f0831cf263a41813abec5f1578abd8d32271a1 /gcc
parentafd3c3479d9f1aac5f47eda64b63029f9befc5bc (diff)
downloadppe42-gcc-6b87a81c933c4fc156e9ea1c79d5dad399caef1f.tar.gz
ppe42-gcc-6b87a81c933c4fc156e9ea1c79d5dad399caef1f.zip
PR java/15734
* expr.c (expand_java_field_op): Ensure that target class for static field access has been loaded. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83720 138bc75d-0d04-0410-961f-82ee72b054a4
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 9ed01a6fc15..7193e1a8b7f 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 446f8afe2db..d4f25f89d66 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;
OpenPOWER on IntegriCloud