diff options
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; | 

