diff options
author | Tom Tromey <tromey@redhat.com> | 2002-05-07 03:32:01 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2002-05-07 03:32:01 +0000 |
commit | 486e8c0cd34a187feb4adf908c183274a93cb654 (patch) | |
tree | 7159ea0ab41b06803b073585f69939e4604b03d4 /gcc/java/java-tree.h | |
parent | 61e0b50fd7a184cc5f611a0bbaceabc44fa6eb0f (diff) | |
download | gcc-486e8c0cd34a187feb4adf908c183274a93cb654.zip gcc-486e8c0cd34a187feb4adf908c183274a93cb654.tar.gz gcc-486e8c0cd34a187feb4adf908c183274a93cb654.tar.bz2 |
re PR java/5941 (incorrect "Unreachable statement" error)
Fix for PR java/5941:
* parse.y (finish_for_loop): Set SUPPRESS_UNREACHABLE_ERROR for
loop update expression.
(java_complete_lhs): Use SUPPRESS_UNREACHABLE_ERROR.
* java-tree.h (SUPPRESS_UNREACHABLE_ERROR): New macro.
From-SVN: r53247
Diffstat (limited to 'gcc/java/java-tree.h')
-rw-r--r-- | gcc/java/java-tree.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h index f591b5f..e0dbe48 100644 --- a/gcc/java/java-tree.h +++ b/gcc/java/java-tree.h @@ -43,6 +43,7 @@ struct JCF; 0: IS_A_SINGLE_IMPORT_CLASSFILE_NAME_P (in IDENTIFIER_NODE) RESOLVE_EXPRESSION_NAME_P (in EXPR_WITH_FILE_LOCATION) FOR_LOOP_P (in LOOP_EXPR) + SUPPRESS_UNREACHABLE_ERROR (for other _EXPR nodes) ANONYMOUS_CLASS_P (in RECORD_TYPE) ARG_FINAL_P (in TREE_LIST) 1: CLASS_HAS_SUPER_FLAG (in TREE_VEC). @@ -1503,6 +1504,12 @@ extern tree *type_map; declared with the final modifier */ #define ARG_FINAL_P(NODE) TREE_LANG_FLAG_0 (NODE) +/* True if NODE (some kind of EXPR, but not a WFL) should not give an + error if it is found to be unreachable. This can only be applied + to those EXPRs which can be used as the update expression of a + `for' loop. In particular it can't be set on a LOOP_EXPR. */ +#define SUPPRESS_UNREACHABLE_ERROR(NODE) TREE_LANG_FLAG_0 (NODE) + /* True if EXPR (a WFL in that case) resolves into a package name */ #define RESOLVE_PACKAGE_NAME_P(WFL) TREE_LANG_FLAG_3 (WFL) |