diff options
author | Per Bothner <bothner@gcc.gnu.org> | 1998-12-13 09:51:04 -0800 |
---|---|---|
committer | Per Bothner <bothner@gcc.gnu.org> | 1998-12-13 09:51:04 -0800 |
commit | 59e4a38e81a741547be70912d8c7a5f09f060a7c (patch) | |
tree | a023987c8950e2b68042261e0bf02e1a0c81d923 /gcc/java | |
parent | 3e78f871ac08ccf7ebfe20b5cd1f9f4e344acf5c (diff) | |
download | gcc-59e4a38e81a741547be70912d8c7a5f09f060a7c.zip gcc-59e4a38e81a741547be70912d8c7a5f09f060a7c.tar.gz gcc-59e4a38e81a741547be70912d8c7a5f09f060a7c.tar.bz2 |
parse.y (patch_method_invocation): If class_decl is null (e.g.
d
* parse.y (patch_method_invocation): If class_decl is null
(e.g. an array type), use original type.
* parse.y (check_thrown_exceptions): Temporary hack to suppress
errors about uncaught exception from clone (of array, specifically).
From-SVN: r24299
Diffstat (limited to 'gcc/java')
-rw-r--r-- | gcc/java/parse.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/java/parse.c b/gcc/java/parse.c index 64c302b..527f588 100644 --- a/gcc/java/parse.c +++ b/gcc/java/parse.c @@ -9278,6 +9278,7 @@ patch_method_invocation (patch, primary, where, is_static, ret_decl) /* 2- Do the layout of the class where the last field was found, so we can search it. */ class_decl = resolve_and_layout (type, NULL_TREE); + if (class_decl != NULL_TREE) type = TREE_TYPE (class_decl); /* 3- Retrieve a filtered list of method matches, Refine @@ -13493,6 +13494,11 @@ check_thrown_exceptions (location, decl) throws = TREE_CHAIN (throws)) if (!check_thrown_exceptions_do (TREE_VALUE (throws))) { +#if 1 + /* Temporary hack to suppresses errors about cloning arrays. FIXME */ + if (DECL_NAME (decl) == get_identifier ("clone")) + continue; +#endif EXPR_WFL_LINECOL (wfl_operator) = location; parse_error_context (wfl_operator, "Exception `%s' must be caught, or it must be " |