From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20144 invoked by alias); 27 Aug 2004 20:49:57 -0000 Mailing-List: contact java-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: java-prs-owner@gcc.gnu.org Received: (qmail 20121 invoked by uid 48); 27 Aug 2004 20:49:57 -0000 Date: Fri, 27 Aug 2004 20:49:00 -0000 Message-ID: <20040827204957.20120.qmail@sourceware.org> From: "tromey at gcc dot gnu dot org" To: java-prs@gcc.gnu.org In-Reply-To: <20040827180830.17216.ovidr@users.sourceforge.net> References: <20040827180830.17216.ovidr@users.sourceforge.net> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug java/17216] ICE in 3.5, error in 3.4.1 when compiling .class->.o X-Bugzilla-Reason: CC X-SW-Source: 2004-q3/txt/msg00343.txt.bz2 List-Id: ------- 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