From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19821 invoked by alias); 5 Dec 2002 04:36:02 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 19791 invoked by uid 71); 5 Dec 2002 04:36:01 -0000 Resent-Date: 5 Dec 2002 04:36:01 -0000 Resent-Message-ID: <20021205043601.19789.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, snyder@fnal.gov Received: (qmail 18550 invoked from network); 5 Dec 2002 04:33:00 -0000 Received: from unknown (HELO localhost.localdomain) (131.225.104.31) by sources.redhat.com with SMTP; 5 Dec 2002 04:33:00 -0000 Received: (from sss@localhost) by localhost.localdomain (8.11.6/8.11.6) id gB54V8210799; Wed, 4 Dec 2002 23:31:08 -0500 Message-Id: <200212050431.gB54V8210799@localhost.localdomain> Date: Wed, 04 Dec 2002 20:36:00 -0000 From: snyder@fnal.gov Reply-To: snyder@fnal.gov To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: 3.113 Subject: debug/8818: g++ 3.3: missing label definition in debug output X-SW-Source: 2002-12/txt/msg00264.txt.bz2 List-Id: >Number: 8818 >Category: debug >Synopsis: g++ 3.3: bad assembly code when optimizing (reference to undefined label) >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: wrong-code >Submitter-Id: net >Arrival-Date: Wed Dec 04 20:36:00 PST 2002 >Closed-Date: >Last-Modified: >Originator: scott snyder >Release: 3.3 20021203 (experimental) >Organization: >Environment: System: Linux karma 2.4.19-emp_2419p5a829i #1 Tue Sep 3 17:42:17 EST 2002 i686 unknown Architecture: i686 host: i686-pc-linux-gnu build: i686-pc-linux-gnu target: i686-pc-linux-gnu configured with: ../gcc/configure --prefix=/usr/local/gcc --enable-threads=posix --enable-long-long --enable-languages=c,c++,f77 >Description: When the following source is compiled on linux/x86 with the flags `-fPIC -g -O1', the assembly code contains a reference to the label `.LC0', which is nowhere defined. Removing any of these three switches makes the problem go away. $ cc1plus -quiet -fPIC -g -O1 x.cc $ grep LC0 x.s .long .LC0 $ This then causes a link error. It looks like this reference is part of the debug information. >How-To-Repeat: --------------------------------------------- struct RefCounter { RefCounter() ; }; struct ObjDouble : public RefCounter { ObjDouble(double value) : _value(value) { } double _value; }; int main() { double bfield = 2.2; new ObjDouble(-bfield); new ObjDouble(-bfield); return 0; } --------------------------------------------- >Fix: >Release-Note: >Audit-Trail: >Unformatted: