This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gcj 4.3 regressions


Andrew Haley writes:
 > Marco Trudel writes:
 > 
 >  > I'm running into tons of "internal compiler error" when working with 
 >  > some libs as I did with 4.2. Has there lately been some critical changes 
 >  > or am I just the first one testing such things?
 >  > 
 >  > Anyway, I randomly picked one out and traced it to that:
 >  > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30574
 > 
 > OK, I'm looking.  Everything I run was compiled with ecj, so I
 > wouldn't have seen that problem.

Found it.  Sun compiler creates a synthetic anonymous inner class
FailingClass$1 with a class attribute, "Synthetic", like this:

Attributes (count: 3):
Attribute "SourceFile", length:2, #4="FailingClass.java"
Attribute "Synthetic", length:0
Attribute "InnerClasses", length:10
  inner: FailingClass$1 (anonymous), access flags: 0x8 static, outer class: FailingClass

ecj doesn't create this class.  I don't know what this class is for.

Anyway, try this patch.

Andrew.



2007-01-24  Andrew Haley  <aph@redhat.com>

        * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): current_class is a
        type node, not a decl, so use TYPE_SYNTHETIC not CLASS_SYNTHETIC.

Index: jcf-parse.c
===================================================================
--- jcf-parse.c (revision 121113)
+++ jcf-parse.c (working copy)
@@ -975,7 +975,7 @@
   else if (current_field)                                              \
     FIELD_SYNTHETIC (current_field) = 1;                               \
   else                                                                 \
-    CLASS_SYNTHETIC (current_class) = 1;                               \
+    TYPE_SYNTHETIC (current_class) = 1;                                       \
 }
 
 #define HANDLE_GCJCOMPILED_ATTRIBUTE()         \


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]