diff options
Diffstat (limited to 'gcc/java')
-rw-r--r-- | gcc/java/ChangeLog | 12 | ||||
-rw-r--r-- | gcc/java/parse.y | 6 |
2 files changed, 14 insertions, 4 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 61ccfe6..5c6f9a2 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +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. + Fri May 14 12:31:08 1999 Alexandre Petit-Bianco <apbianco@cygnus.com> * xref.c (xref_set_current_fp): New function, defined. @@ -1545,7 +1551,7 @@ Sat Dec 12 20:13:19 1998 Per Bothner <bothner@cygnus.com> * parse.y (java_complete_expand_methods): Call write_classfile here, and not in java_expand_classes (which only gets first class). -Sat Dec 12 19:46:04 1998 Alexandre Petit-Bianco <apbianco@sendai.cygnus.com> +Sat Dec 12 19:46:04 1998 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (<type_declaration>): Do maybe_generate_clinit last. (register_fields): If a static fields has an initializer, just @@ -1582,7 +1588,7 @@ Sat Dec 12 19:21:11 1998 Per Bothner <bothner@cygnus.com> * class.c (make_class_data): Renamed dtable -> vtable, and dtable_method_count -> vtable_method_count. -Thu Dec 10 20:00:54 1998 Alexandre Petit-Bianco <apbianco@sendai.cygnus.com> +Thu Dec 10 20:00:54 1998 Alexandre Petit-Bianco <apbianco@cygnus.com> * decl.c (long_zero_node, float_zero_node, double_zero_node): New global variables, initialized. @@ -3333,7 +3339,7 @@ Thu Sep 3 18:04:09 1998 Per Bothner <bothner@cygnus.com> * gjavah.c: Support new -prepend -add -append flags. (print_method_info): Method is not virtual if class is final. -Thu Sep 3 12:03:53 1998 Alexandre Petit-Bianco <apbianco@sendai.cygnus.com> +Thu Sep 3 12:03:53 1998 Alexandre Petit-Bianco <apbianco@cygnus.com> * jv-scan.c: Fixed copyright assignment. * keyword.gperf: Likewise. 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; |