From 51e23701494811dd20ed2cf1d6e4c5299d5d24d4 Mon Sep 17 00:00:00 2001 From: Alexandre Petit-Bianco Date: Thu, 5 Jul 2001 15:33:44 -0700 Subject: [multiple changes] 2001-07-03 Alexandre Petit-Bianco * parse.y (resolve_expression_name): Improved error message for inner class cases. Fixes PR java/1958 2001-06-27 Alexandre Petit-Bianco * 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 * 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 --- gcc/java/jcf.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'gcc/java/jcf.h') diff --git a/gcc/java/jcf.h b/gcc/java/jcf.h index 4586f06..fc3cedf 100644 --- a/gcc/java/jcf.h +++ b/gcc/java/jcf.h @@ -90,6 +90,7 @@ typedef struct JCF { unsigned char *read_end; int java_source : 1; int right_zip : 1; + int finished : 1; jcf_filbuf_t filbuf; void *read_state; const char *filename; @@ -144,7 +145,8 @@ typedef struct JCF { CPOOL_FINISH(&(JCF)->cpool); \ if ((JCF)->buffer) FREE ((JCF)->buffer); \ if ((JCF)->filename) FREE ((char *) (JCF)->filename); \ - if ((JCF)->classname) FREE ((char *) (JCF)->classname); } + if ((JCF)->classname) FREE ((char *) (JCF)->classname); \ + (JCF)->finished = 1; } #define CPOOL_INIT(CPOOL) \ ((CPOOL)->capacity = 0, (CPOOL)->count = 0, (CPOOL)->tags = 0, (CPOOL)->data = 0) @@ -154,7 +156,8 @@ typedef struct JCF { #define JCF_ZERO(JCF) \ ((JCF)->buffer = (JCF)->buffer_end = (JCF)->read_ptr = (JCF)->read_end = 0,\ (JCF)->read_state = 0, (JCF)->filename = (JCF)->classname = 0, \ - CPOOL_INIT(&(JCF)->cpool), (JCF)->java_source = 0, (JCF)->zipd = 0) + CPOOL_INIT(&(JCF)->cpool), (JCF)->java_source = 0, (JCF)->zipd = 0, \ + (JCF)->finished = 0) /* Given that PTR points to a 2-byte unsigned integer in network (big-endian) byte-order, return that integer. */ -- cgit v1.1