From 58e0c554fd7a78dad40f5b0ab705955cfd8bba43 Mon Sep 17 00:00:00 2001 From: Andrew Haley Date: Thu, 9 Feb 2006 14:05:31 +0000 Subject: [PATCH] re PR java/26192 (ICE while compiling jar or class file (azureus)) 2006-02-09 Andrew Haley PR java/26192 * expr.c (expand_invoke): Allow methods in arrays to be resolved in their superclass. * typeck.c (build_java_array_type): Generate TYPE_STUB_DECLs for array types. From-SVN: r110799 --- gcc/java/ChangeLog | 9 +++++++++ gcc/java/expr.c | 1 + gcc/java/typeck.c | 2 ++ 3 files changed, 12 insertions(+) diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 89cef7c319d..baf89cb3693 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,12 @@ +2006-02-09 Andrew Haley + + PR java/26192 + * expr.c (expand_invoke): Allow methods in arrays to be resolved + in their superclass. + + * typeck.c (build_java_array_type): Generate TYPE_STUB_DECLs for + array types. + 2006-02-08 Tom Tromey PR java/22578: diff --git a/gcc/java/expr.c b/gcc/java/expr.c index 52f7e488b32..785ccc485bf 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -2279,6 +2279,7 @@ expand_invoke (int opcode, int method_ref_index, int nargs ATTRIBUTE_UNUSED) superclass chain when we're BC-compiling. */ if (! flag_verify_invocations && method + && ! TYPE_ARRAY_P (self_type) && self_type != DECL_CONTEXT (method)) method = NULL_TREE; diff --git a/gcc/java/typeck.c b/gcc/java/typeck.c index eac1b53c8d0..3441a1d8663 100644 --- a/gcc/java/typeck.c +++ b/gcc/java/typeck.c @@ -385,9 +385,11 @@ build_java_array_type (tree element_type, HOST_WIDE_INT length) else strcpy (suffix, "[]"); TYPE_NAME (t) + = TYPE_STUB_DECL (t) = build_decl (TYPE_DECL, identifier_subst (el_name, "", '.', '.', suffix), t); + TYPE_DECL_SUPPRESS_DEBUG (TYPE_STUB_DECL (t)) = true; } set_java_signature (t, sig); -- 2.30.2