From: Bryce McKinlay Date: Sat, 26 Jun 2004 20:42:01 +0000 (+0000) Subject: re PR java/15734 (internal compiler error: Segmentation fault) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6573a10434b3aa2784f052d6ffc3905d8490464e;p=gcc.git re PR java/15734 (internal compiler error: Segmentation fault) PR java/15734 * expr.c (expand_java_field_op): Ensure that target class for static field access has been loaded. From-SVN: r83720 --- diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 9ed01a6fc15..7193e1a8b7f 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2004-06-26 Bryce McKinlay + + 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 Ranjit Mathew 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;