diff options
Diffstat (limited to 'gcc/java/parse.c')
-rw-r--r-- | gcc/java/parse.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/java/parse.c b/gcc/java/parse.c index 56e30d3..92ed988 100644 --- a/gcc/java/parse.c +++ b/gcc/java/parse.c @@ -7222,6 +7222,7 @@ java_check_regular_methods (class_decl) if (DECL_CONTEXT (found) != object_type_node && ((aflags & 0x7) == 0) && !class_in_current_package (DECL_CONTEXT (found)) + && DECL_NAME (found) != clinit_identifier_node && flag_not_overriding) { parse_warning_context @@ -10473,7 +10474,10 @@ java_complete_lhs (node) COMPLETE_CHECK_OP_1 (node); TREE_TYPE (node) = void_type_node; POP_LABELED_BLOCK (); - if (CAN_COMPLETE_NORMALLY (LABELED_BLOCK_BODY (node))) + + if (LABELED_BLOCK_BODY (node) == empty_stmt_node) + LABELED_BLOCK_BODY (node) = NULL_TREE; + else if (CAN_COMPLETE_NORMALLY (LABELED_BLOCK_BODY (node))) CAN_COMPLETE_NORMALLY (node) = 1; return node; |