diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 89cef7c319dd3a8ac3b9746629b71801219180d9..baf89cb36938296ebef1237b535df5dd90c74664 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,12 @@ +2006-02-09 Andrew Haley <aph@redhat.com> + + 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 <tromey@redhat.com> PR java/22578: diff --git a/gcc/java/expr.c b/gcc/java/expr.c index 52f7e488b32fd005f6cd254fdd020a6921a4273b..785ccc485bf63b7f368342883849f774ad4b8307 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 eac1b53c8d0198c845df0e331e523b2562b1b1e5..3441a1d8663f338ee9e639d47c9060452f2ed436 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);