aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
authorPer Bothner <bothner@gcc.gnu.org>1998-12-13 09:51:02 -0800
committerPer Bothner <bothner@gcc.gnu.org>1998-12-13 09:51:02 -0800
commit3e78f871ac08ccf7ebfe20b5cd1f9f4e344acf5c (patch)
tree2803370ba4816bd51a32cb74a35d0e7170399055 /gcc/java
parentcb975f38fbfb5d5d0cd1092b013c64cd54a2a1ce (diff)
downloadgcc-3e78f871ac08ccf7ebfe20b5cd1f9f4e344acf5c.zip
gcc-3e78f871ac08ccf7ebfe20b5cd1f9f4e344acf5c.tar.gz
gcc-3e78f871ac08ccf7ebfe20b5cd1f9f4e344acf5c.tar.bz2
parse.y (patch_method_invocation): If class_decl is null (e.g.
� * 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: r24298
Diffstat (limited to 'gcc/java')
-rw-r--r--gcc/java/parse.y6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/java/parse.y b/gcc/java/parse.y
index e41658a..3183846 100644
--- a/gcc/java/parse.y
+++ b/gcc/java/parse.y
@@ -6640,6 +6640,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
@@ -10855,6 +10856,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 "