From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19814 invoked by alias); 15 Jun 2010 12:22:51 -0000 Received: (qmail 19803 invoked by uid 22791); 15 Jun 2010 12:22:50 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 15 Jun 2010 12:22:42 +0000 Received: (qmail 16393 invoked from network); 15 Jun 2010 12:22:40 -0000 Received: from unknown (HELO localhost) (froydnj@127.0.0.2) by mail.codesourcery.com with ESMTPA; 15 Jun 2010 12:22:40 -0000 Date: Tue, 15 Jun 2010 13:50:00 -0000 From: Nathan Froyd To: Steve Ellcey Cc: Mark Mitchell , gcc-patches@gcc.gnu.org Subject: Re: [PATCH,c++] rewrite vtable initialization construction to use VECs Message-ID: <20100615122234.GW27105@codesourcery.com> References: <20100603204741.GA19235@codesourcery.com> <201006101705.o5AH5wg18034@lucas.cup.hp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201006101705.o5AH5wg18034@lucas.cup.hp.com> User-Agent: Mutt/1.5.17+20080114 (2008-01-14) X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2010-06/txt/msg01502.txt.bz2 On Thu, Jun 10, 2010 at 10:05:58AM -0700, Steve Ellcey wrote: > Sorry for not replying sooner but I was on vacation. This change has > broken the ia64-hp-hpux11.23 build where > TARGET_VTABLE_DATA_ENTRY_DISTANCE is set. HP-UX is different then Linux > because it has a 32 bit mode where the value of this is 2 instead of 1 > and I think that is why it works on Linux but not on HP-UX. > > /proj/opensrc_nobackup/nightly2/src/trunk/libstdc++-v3/libsupc++/exception:61:9: internal compiler error: vector VEC(constructor_elt,base) index domain error, in build_vtbl_initializer at cp/class.c:7629 > Please submit a full bug report, > with preprocessed source if appropriate. Ah, whoops, I clearly didn't look closely enough to see what platforms I should have been testing on. I think the patch below does the trick. Could you please try it and report back? -Nathan Index: class.c =================================================================== --- class.c (revision 160473) +++ class.c (working copy) @@ -7624,7 +7624,7 @@ build_vtbl_initializer (tree binfo, for (j = 1; j < TARGET_VTABLE_DATA_ENTRY_DISTANCE; ++j) { - constructor_elt *f = VEC_index (constructor_elt, *inits, + constructor_elt *f = VEC_index (constructor_elt, vid.inits, new_position + j); f->index = NULL_TREE; f->value = build1 (NOP_EXPR, vtable_entry_type,