From 6573a10434b3aa2784f052d6ffc3905d8490464e Mon Sep 17 00:00:00 2001 From: Bryce McKinlay Date: Sat, 26 Jun 2004 20:42:01 +0000 Subject: [PATCH] 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 --- gcc/java/ChangeLog | 6 ++++++ gcc/java/expr.c | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) 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 + + 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 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; -- 2.7.4