aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/parse.y
diff options
context:
space:
mode:
authorAlexandre Petit-Bianco <apbianco@cygnus.com>1999-05-17 18:09:15 +0000
committerAlexandre Petit-Bianco <apbianco@gcc.gnu.org>1999-05-17 11:09:15 -0700
commit9dd939b278d1b6db70bb1311e7c761b655445d41 (patch)
tree80ee6003a0c6f1720fbf7025792c7cf23d73026d /gcc/java/parse.y
parent856216bbe352e0ebe97e8928e6a41906518ecccd (diff)
downloadgcc-9dd939b278d1b6db70bb1311e7c761b655445d41.zip
gcc-9dd939b278d1b6db70bb1311e7c761b655445d41.tar.gz
gcc-9dd939b278d1b6db70bb1311e7c761b655445d41.tar.bz2
parse.y (statement_nsi:): Pop `for' statement block.
Mon May 17 18:01:40 1999 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (statement_nsi:): Pop `for' statement block. (java_complete_lhs): Labelled blocks containing no statement are marked as completing normally. From-SVN: r26976
Diffstat (limited to 'gcc/java/parse.y')
-rw-r--r--gcc/java/parse.y6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/java/parse.y b/gcc/java/parse.y
index 64f7e18..84d2b25 100644
--- a/gcc/java/parse.y
+++ b/gcc/java/parse.y
@@ -1231,6 +1231,7 @@ statement_nsi:
| if_then_else_statement_nsi
| while_statement_nsi
| for_statement_nsi
+ { $$ = exit_block (); }
;
statement_without_trailing_substatement:
@@ -7872,7 +7873,10 @@ java_complete_lhs (node)
POP_LABELED_BLOCK ();
if (LABELED_BLOCK_BODY (node) == empty_stmt_node)
- LABELED_BLOCK_BODY (node) = NULL_TREE;
+ {
+ LABELED_BLOCK_BODY (node) = NULL_TREE;
+ CAN_COMPLETE_NORMALLY (node) = 1;
+ }
else if (CAN_COMPLETE_NORMALLY (LABELED_BLOCK_BODY (node)))
CAN_COMPLETE_NORMALLY (node) = 1;
return node;