diff options
author | Alexandre Petit-Bianco <apbianco@redhat.com> | 2001-07-05 15:33:44 -0700 |
---|---|---|
committer | Alexandre Petit-Bianco <apbianco@gcc.gnu.org> | 2001-07-05 15:33:44 -0700 |
commit | 51e23701494811dd20ed2cf1d6e4c5299d5d24d4 (patch) | |
tree | c27ae8ff81e650632f11ca9a8fc6aa5dade53668 /gcc/java/jcf-parse.c | |
parent | 43a727554dae9550dbd823af097964fef4aaa265 (diff) | |
download | gcc-51e23701494811dd20ed2cf1d6e4c5299d5d24d4.tar.gz |
[multiple changes]
2001-07-03 Alexandre Petit-Bianco <apbianco@redhat.com>
* parse.y (resolve_expression_name): Improved error message for
inner class cases.
Fixes PR java/1958
2001-06-27 Alexandre Petit-Bianco <apbianco@redhat.com>
* jcf-parse.c (gcc_mark_jcf): Test for a finished JCF.
* jcf.h (typedef struct JCF): New bitfield `finished.'
(JCF_FINISH): Set `finished.'
(JCF_ZERO): Reset `finished.'
Fixes PR java/2633
2001-06-27 Alexandre Petit-Bianco <apbianco@redhat.com>
* parse.y (class_body_declaration:): Don't install empty instance
initializers.
Fixes PR java/1314
(http://gcc.gnu.org/ml/gcc-patches/2001-07/msg00321.html )
From-SVN: r43793
Diffstat (limited to 'gcc/java/jcf-parse.c')
-rw-r--r-- | gcc/java/jcf-parse.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/java/jcf-parse.c b/gcc/java/jcf-parse.c index b4d5ba03aa7..d925205fe19 100644 --- a/gcc/java/jcf-parse.c +++ b/gcc/java/jcf-parse.c @@ -101,14 +101,15 @@ static void jcf_parse PARAMS ((struct JCF*)); static void load_inner_classes PARAMS ((tree)); /* Mark (for garbage collection) all the tree nodes that are - referenced from JCF's constant pool table. */ + referenced from JCF's constant pool table. Do that only if the JCF + hasn't been marked finished. */ static void ggc_mark_jcf (elt) void **elt; { JCF *jcf = *(JCF**) elt; - if (jcf != NULL) + if (jcf != NULL && !jcf->finished) { CPool *cpool = &jcf->cpool; int size = CPOOL_COUNT(cpool); |