diff options
author | Tom Tromey <tromey@redhat.com> | 2002-03-26 18:59:04 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2002-03-26 18:59:04 +0000 |
commit | c8c21a8cd010469fa92d2da4a7029d5c40122a84 (patch) | |
tree | eab198f6806cee54744cc3682e0f013f9c4bc976 /gcc | |
parent | 46ff5047273650dd7feac4612ffa4892163b9bae (diff) | |
download | gcc-c8c21a8cd010469fa92d2da4a7029d5c40122a84.zip gcc-c8c21a8cd010469fa92d2da4a7029d5c40122a84.tar.gz gcc-c8c21a8cd010469fa92d2da4a7029d5c40122a84.tar.bz2 |
re PR java/5942 (tree check failure when compiling Classpath with strictfp StrictMath class)
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.
From-SVN: r51398
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/java/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/java/parse.h | 2 | ||||
-rw-r--r-- | gcc/java/parse.y | 4 |
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 (); } |