aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/java')
-rw-r--r--gcc/java/ChangeLog7
-rw-r--r--gcc/java/parse.h2
-rw-r--r--gcc/java/parse.y4
3 files changed, 12 insertions, 1 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 1605e21..8549fcb 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,10 @@
+2002-03-26 Tom Tromey <tromey@redhat.com>
+
+ Fix for PR java/5942:
+ * parse.y (init_src_parse): Added sanity check.
+ * parse.h (struct parser_ctxt) [modifier_ctx]: Array has 12
+ elements, not 11.
+
2002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
* decl.c (lang_mark_tree): Rename java_mark_tree.
diff --git a/gcc/java/parse.h b/gcc/java/parse.h
index 1d8bb05..ded6a7000 100644
--- a/gcc/java/parse.h
+++ b/gcc/java/parse.h
@@ -762,7 +762,7 @@ struct parser_ctxt {
/* This section is defined only if we compile jc1 */
#ifndef JC1_LITE
- tree modifier_ctx [11]; /* WFL of modifiers */
+ tree modifier_ctx [12]; /* WFL of modifiers */
tree class_type; /* Current class */
tree function_decl; /* Current function decl, save/restore */
diff --git a/gcc/java/parse.y b/gcc/java/parse.y
index 8cb595e..e8ef2ef 100644
--- a/gcc/java/parse.y
+++ b/gcc/java/parse.y
@@ -16013,6 +16013,10 @@ init_src_parse ()
{
/* Register roots with the garbage collector. */
ggc_add_tree_root (src_parse_roots, ARRAY_SIZE (src_parse_roots));
+
+ /* Sanity check; we've been bit by this before. */
+ if (ARRAY_SIZE (ctxp->modifier_ctx) != MODIFIER_TK - PUBLIC_TK)
+ abort ();
}