From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23644 invoked by alias); 18 Oct 2002 22:27:43 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 23634 invoked from network); 18 Oct 2002 22:27:43 -0000 Received: from unknown (HELO localhost.localdomain) (66.60.148.227) by sources.redhat.com with SMTP; 18 Oct 2002 22:27:43 -0000 Received: from warlock.codesourcery.com (localhost.localdomain [127.0.0.1]) by localhost.localdomain (8.11.6/8.11.6) with ESMTP id g9IMPIr01412; Fri, 18 Oct 2002 15:25:18 -0700 Date: Fri, 18 Oct 2002 17:04:00 -0000 From: Mark Mitchell To: David Edelsohn , Janis Johnson cc: Andreas Schwab , Aldy Hernandez , "gcc@gcc.gnu.org" Subject: Re: ia64 linux doesn't bootstrap Message-ID: <5110000.1034979917@warlock.codesourcery.com> In-Reply-To: <200210182002.QAA29492@makai.watson.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline X-SW-Source: 2002-10/txt/msg01153.txt.bz2 --On Friday, October 18, 2002 04:02:53 PM -0400 David Edelsohn wrote: > Tighten your seatbelt, the AIX failure is another case where the C > and C++ front-ends are not consistent with respect to the state of a DECL > after warnings. I am not sure which one is right. > > The testcase in g++.dg/break/bitfield7_y.C creates a bitfield that > is too wide: > > union U { > int i: 4096; > }; The key point is that this is valid C++, but not valid C. So, C++ needs to handle it (somehow) and C does not. The way the C++ front end tries to handle this is like this. Suppose that your widest integer type has 64 bits. Then, G++ presents "i" as a 64-bit bit-field to the back end. Then, it creates some extra space as an unnamed giant bit field. I suspect we are running into problems with the unnamed giant field. But, nobody should every be trying to read or write those bits. Why is that happenning? Anyhow, what is the triplet for the target? If I run bitfield7.C on that target's cc1plus I take it I will see the failure? -- Mark Mitchell mark@codesourcery.com CodeSourcery, LLC http://www.codesourcery.com