diff options
author | Alexandre Petit-Bianco <apbianco@redhat.com> | 2001-03-21 15:50:29 -0800 |
---|---|---|
committer | Alexandre Petit-Bianco <apbianco@gcc.gnu.org> | 2001-03-21 15:50:29 -0800 |
commit | 96c6f6286724d2cd495e0bf8c7f91e063d00322c (patch) | |
tree | af858a39ad83d13fcd0b7923918df646055fe5f2 /gcc/java/parse.y | |
parent | 71cb92861565bf4bad31fc1b2db27546528eeaeb (diff) | |
download | gcc-96c6f6286724d2cd495e0bf8c7f91e063d00322c.zip gcc-96c6f6286724d2cd495e0bf8c7f91e063d00322c.tar.gz gcc-96c6f6286724d2cd495e0bf8c7f91e063d00322c.tar.bz2 |
re PR java/2333 (ICE in mark_reference_fields)
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)
From-SVN: r40719
Diffstat (limited to 'gcc/java/parse.y')
-rw-r--r-- | gcc/java/parse.y | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/java/parse.y b/gcc/java/parse.y index 8d588f0..d1adac6 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; |