From c5d1abaa564d01348b4a7e96513895c1590e480a Mon Sep 17 00:00:00 2001 From: apbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Wed, 21 Mar 2001 23:50:29 +0000 Subject: [PATCH] 2001-03-21 Alexandre Petit-Bianco <apbianco@redhat.com> * class.c (layout_class): Fixed push_super_field's second argument. Fixes PR java/2333. (jdep_resolve_class): Reset TYPE_SIZE if `error_mark_node', it's too early to lay innerclasses out. (http://gcc.gnu.org/ml/gcc-patches/2001-03/msg01582.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40719 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/java/ChangeLog | 7 +++++++ gcc/java/class.c | 2 +- gcc/java/parse.y | 6 +++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index accbbc72f63d..6a23f8e6b7e4 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,10 @@ +2001-03-21 Alexandre Petit-Bianco <apbianco@redhat.com> + + * class.c (layout_class): Fixed push_super_field's second + argument. Fixes PR java/2333. + (jdep_resolve_class): Reset TYPE_SIZE if `error_mark_node', it's + too early to lay innerclasses out. + 2001-03-20 Tom Tromey <tromey@redhat.com> * lex.c (java_read_unicode): Only accept leading `u's. diff --git a/gcc/java/class.c b/gcc/java/class.c index 6deb46e61d69..c99dbaa262b9 100644 --- a/gcc/java/class.c +++ b/gcc/java/class.c @@ -1693,7 +1693,7 @@ layout_class (this_class) return; } if (TYPE_SIZE (this_class) == NULL_TREE) - push_super_field (this_class, super_class); + push_super_field (this_class, maybe_super_class); } for (field = TYPE_FIELDS (this_class); diff --git a/gcc/java/parse.y b/gcc/java/parse.y index 8d588f0f10a0..d1adac6c3384 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -5277,7 +5277,11 @@ jdep_resolve_class (dep) { tree inner = TREE_TYPE (decl); if (! CLASS_LOADED_P (inner)) - safe_layout_class (inner); + { + safe_layout_class (inner); + if (TYPE_SIZE (inner) == error_mark_node) + TYPE_SIZE (inner) = NULL_TREE; + } check_inner_class_access (decl, JDEP_ENCLOSING (dep), JDEP_WFL (dep)); } return decl; -- GitLab