From 25e7cbadcd929b93900636e7b0e5098341b12784 Mon Sep 17 00:00:00 2001 From: tromey Date: Tue, 26 Mar 2002 18:59:04 +0000 Subject: [PATCH] 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@51398 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/java/ChangeLog | 7 +++++++ gcc/java/parse.h | 2 +- gcc/java/parse.y | 4 ++++ 3 files changed, 12 insertions(+), 1 deletion(-) 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 + + 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 * decl.c (lang_mark_tree): Rename java_mark_tree. diff --git a/gcc/java/parse.h b/gcc/java/parse.h index 1d8bb05..ded6a70 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 (); } -- 2.7.4