aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/java')
-rw-r--r--gcc/java/ChangeLog5
-rw-r--r--gcc/java/parse.c7
-rw-r--r--gcc/java/parse.y7
3 files changed, 19 insertions, 0 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 4cbade6..dac48d9 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,8 @@
+Mon Apr 24 14:59:36 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * parse.y (end_class_declaration): Reset the interface number
+ counter.
+
2000-04-24 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (source_start_java_method): Deleted unecessary code.
diff --git a/gcc/java/parse.c b/gcc/java/parse.c
index e3e2a5f..92598a5 100644
--- a/gcc/java/parse.c
+++ b/gcc/java/parse.c
@@ -6567,6 +6567,13 @@ end_class_declaration (resume)
POP_CPC ();
if (resume && no_error_occured)
java_parser_context_resume ();
+
+ /* We're ending a class declaration, this is a good time to reset
+ the interface cout. Note that might have been already done in
+ create_interface, but if at that time an inner class was being
+ dealt with, the interface count was reset in a context created
+ for the sake of handling inner classes declaration. */
+ ctxp->interface_number = 0;
}
static void
diff --git a/gcc/java/parse.y b/gcc/java/parse.y
index d2c5b12..13cbab8 100644
--- a/gcc/java/parse.y
+++ b/gcc/java/parse.y
@@ -3869,6 +3869,13 @@ end_class_declaration (resume)
POP_CPC ();
if (resume && no_error_occured)
java_parser_context_resume ();
+
+ /* We're ending a class declaration, this is a good time to reset
+ the interface cout. Note that might have been already done in
+ create_interface, but if at that time an inner class was being
+ dealt with, the interface count was reset in a context created
+ for the sake of handling inner classes declaration. */
+ ctxp->interface_number = 0;
}
static void