From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11089 invoked by alias); 28 May 2002 16:03:41 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 11037 invoked from network); 28 May 2002 16:03:37 -0000 Received: from unknown (HELO potter.sfbay.redhat.com) (205.180.83.107) by sources.redhat.com with SMTP; 28 May 2002 16:03:37 -0000 Received: from redhat.com (remus.sfbay.redhat.com [172.16.27.252]) by potter.sfbay.redhat.com (8.11.6/8.11.6) with SMTP id g4SG1cv14529; Tue, 28 May 2002 09:01:38 -0700 Date: Tue, 28 May 2002 09:17:00 -0000 From: Benjamin Kosnik To: Michael Elizabeth Chastain Cc: gdb-patches@sources.redhat.com Subject: Re: gdb.c++ testsuite 1.3: member_data_static.exp (resend) Message-Id: <20020528090331.5b74b2ae.bkoz@redhat.com> In-Reply-To: <200205272241.g4RMfCY07438@duracef.shout.net> References: <200205272241.g4RMfCY07438@duracef.shout.net> Reply-To: bkoz@redhat.com Organization: Red Hat / Paris Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-SW-Source: 2002-05/txt/msg00972.txt.bz2 > This test script has 6 FAILs in each configuration tested. > > FAIL: gdb.c++/m-static.exp: derived template object, static enum > FAIL: gdb.c++/m-static.exp: template object, static const bool > FAIL: gdb.c++/m-static.exp: template object, static const int > FAIL: gdb.c++/m-static.exp: template object, static long > FAIL: gdb.c++/m-static.exp: template object, static enum > FAIL: gdb.c++/m-static.exp: template object, static enum That is what I get too. > Something in the toolchain is optimizing away unused static objects. Right. I need this to work as the testsuite is written please. > static value_derived = } > > (gdb) print test3 > $2 = {static data = } ... which makes debugging C++ a pain in the ass, and the reason I sat down and wrote this file. I consider gdb to be broken. Hopefully this test case will facilitate a fix to the problem noted above. > This happens with both -gdwarf-2 and -gstabs+ on all gcc's and > binutil's in my test bed. Me too. > I fixed this by adding references to the data fields, like this: > > refer(&test2.value_derived); > refer(&test3.data); > refer(&test3.data.value_derived); Errr. No, unless you expect everybody using gdb and C++ do to this as well. In which case, you should put this in the FAQ. Is there something I am missing? -benjamin