From dc4e6ccfe59431e533042ba5de7e1ca3e5c2b7d3 Mon Sep 17 00:00:00 2001 From: Alexandre Petit-Bianco Date: Tue, 25 May 1999 16:36:07 +0000 Subject: [PATCH] [multiple changes] Tue May 25 15:06:13 1999 Alexandre Petit-Bianco * parse.y (patch_assignment): Save the rhs before using it as an argument to _Jv_CheckArrayStore. Tue May 25 11:23:59 1999 Alexandre Petit-Bianco * lex.c (java_parse_doc_section): Fixed `tag' buffer size. Mon May 24 13:26:00 1999 Alexandre Petit-Bianco * lex.c (java_lex): Accepts `+' or `-' after the beginning of a floating point litteral only when the exponent indicator has been parsed. From-SVN: r27147 --- gcc/java/ChangeLog | 15 +++++++++++++++ gcc/java/lex.c | 4 ++-- gcc/java/parse.c | 1 + gcc/java/parse.y | 1 + 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index a96423d..ed91c91 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,18 @@ +Tue May 25 15:06:13 1999 Alexandre Petit-Bianco + + * parse.y (patch_assignment): Save the rhs before using it as an + argument to _Jv_CheckArrayStore. + +Tue May 25 11:23:59 1999 Alexandre Petit-Bianco + + * lex.c (java_parse_doc_section): Fixed `tag' buffer size. + +Mon May 24 13:26:00 1999 Alexandre Petit-Bianco + + * lex.c (java_lex): Accepts `+' or `-' after the beginning of a + floating point litteral only when the exponent indicator has been + parsed. + Sat May 22 13:54:41 1999 Alexandre Petit-Bianco * parse.y (formal_parameter:): Construct argument tree list diff --git a/gcc/java/lex.c b/gcc/java/lex.c index 18d873f..fbaa23d 100644 --- a/gcc/java/lex.c +++ b/gcc/java/lex.c @@ -427,7 +427,7 @@ java_parse_doc_section (c) /* We're parsing @deprecated */ if (valid_tag && (c == '@')) { - char tag [10]; + char tag [11]; int tag_index = 0; while (tag_index < 10 && c != UEOF && c != ' ' && c != '\n') @@ -741,7 +741,7 @@ java_lex (java_lval) stage = 4; /* So we fall through */ } - if ((c=='-' || c =='+') && stage < 3) + if ((c=='-' || c =='+') && stage == 2) { stage = 3; literal_token [literal_index++] = c; diff --git a/gcc/java/parse.c b/gcc/java/parse.c index 9fa65e8..4784285 100644 --- a/gcc/java/parse.c +++ b/gcc/java/parse.c @@ -11432,6 +11432,7 @@ patch_assignment (node, wfl_op1, wfl_op2) } /* Build the invocation of _Jv_CheckArrayStore */ + new_rhs = save_expr (new_rhs); check = build (CALL_EXPR, void_type_node, build_address_of (soft_checkarraystore_node), tree_cons (NULL_TREE, base, diff --git a/gcc/java/parse.y b/gcc/java/parse.y index 5357003..69918a9 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -8847,6 +8847,7 @@ patch_assignment (node, wfl_op1, wfl_op2) } /* Build the invocation of _Jv_CheckArrayStore */ + new_rhs = save_expr (new_rhs); check = build (CALL_EXPR, void_type_node, build_address_of (soft_checkarraystore_node), tree_cons (NULL_TREE, base, -- 2.7.4