This is the mail archive of the java-prs@gcc.gnu.org mailing list for the Java 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]

[Bug java/17216] ICE in 3.5, error in 3.4.1 when compiling .class->.o


------- Additional Comments From tromey at gcc dot gnu dot org  2004-08-27 20:49 -------
I've investigated this a little.
This is another miranda method bug.

javac -target 1.1 emits an explicit redeclaration
of I.internal_new_GC in A.  This declaration is
marked Synthetic.

In class.c:layout_class_method, we don't set the DECL_VINDEX
for a method if "DECL_ARTIFICIAL (method_decl)".

This means that when we try to set the vindex for
B.internal_new_GC, we do find a super_method, but the
super_method does not have an assigned vtable slot.

I believe the solution is to remove the test for DECL_ARTIFICIAL
when doing vtable layout.  I'll test a patch.




-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |tromey at gcc dot gnu dot
                   |dot org                     |org
             Status|UNCONFIRMED                 |ASSIGNED
            Summary|ICE in 3.5, error in 3.4.1  |ICE in 3.5, error in 3.4.1
                   |when compiling .class->.o   |when compiling .class->.o


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17216


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