This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: MIPS Wrong-code regression.
- From: David Daney <ddaney at avtrex dot com>
- To: Andrew Haley <aph at redhat dot com>
- Cc: Richard Sandiford <richard at codesourcery dot com>, GCC <gcc at gcc dot gnu dot org>, Java GCJ Mailing List <java at gcc dot gnu dot org>
- Date: Wed, 31 Jan 2007 18:13:16 -0800
- Subject: Re: MIPS Wrong-code regression.
- References: <45C039F8.10803@avtrex.com> <17856.25865.348850.582010@zebedee.pink> <45C0E19B.6060703@avtrex.com> <45C11E8E.8070003@avtrex.com>
David Daney wrote:
David Daney wrote:
Andrew Haley wrote:
David Daney writes:
> Richard,
> > Sometime between 1/7 and 1/16 on the trunk I started getting
wrong code > on a bunch of java testcases under mipsel-linux.
OK, it was r120621 (The gcj-elipse branch merge) where things started
being broken.
There were some large changes in the java front-end with this commit.
I am testing the attached patch that seems to fix the problem.
Richard, sorry for dragging you into this mess.
David Daney
Index: gcc/java/class.c
===================================================================
--- gcc/java/class.c (revision 121441)
+++ gcc/java/class.c (working copy)
@@ -2510,10 +2510,12 @@
tree method_name = DECL_NAME (method_decl);
TREE_PUBLIC (method_decl) = 1;
+
/* Considered external unless it is being compiled into this object
- file. */
- DECL_EXTERNAL (method_decl) = ((is_compiled_class (this_class) != 2)
- || METHOD_NATIVE (method_decl));
+ file, or it was already flagged as external. */
+ if (!DECL_EXTERNAL (method_decl))
+ DECL_EXTERNAL (method_decl) = ((is_compiled_class (this_class) != 2)
+ || METHOD_NATIVE (method_decl));
if (ID_INIT_P (method_name))
{