diff options
| author | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-06-26 20:42:01 +0000 |
|---|---|---|
| committer | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-06-26 20:42:01 +0000 |
| commit | 6b87a81c933c4fc156e9ea1c79d5dad399caef1f (patch) | |
| tree | 36f0831cf263a41813abec5f1578abd8d32271a1 /gcc/java | |
| parent | afd3c3479d9f1aac5f47eda64b63029f9befc5bc (diff) | |
| download | ppe42-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/java')
| -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 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; |

