From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12879 invoked by alias); 24 Feb 2004 20:03:34 -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 12872 invoked from network); 24 Feb 2004 20:03:33 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 24 Feb 2004 20:03:33 -0000 Received: from drow by nevyn.them.org with local (Exim 4.30 #1 (Debian)) id 1AvimC-00059z-Ds; Tue, 24 Feb 2004 15:03:32 -0500 Date: Tue, 24 Feb 2004 20:03:00 -0000 From: Daniel Jacobowitz To: David Carlton Cc: gdb-patches@sources.redhat.com, Elena Zannoni , Michael Elizabeth Chastain Subject: Re: [rfa] fix for PR c++/1553 Message-ID: <20040224200332.GA3747@nevyn.them.org> Mail-Followup-To: David Carlton , gdb-patches@sources.redhat.com, Elena Zannoni , Michael Elizabeth Chastain References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.1i X-SW-Source: 2004-02/txt/msg00696.txt.bz2 On Tue, Feb 24, 2004 at 10:10:18AM -0800, David Carlton wrote: > Here's a fix for PR c++/1553. It cleans up a botch I made in > dwarf2read.c:read_structure_scope: I had all this conditional logic > for determining the name, including a case where the code basically > says "well, it would be a little bit of work to get the name right > now, so let's remember that we got it wrong and try to fix the > situation later". And, of course, not only is this fragile and a > maintenance problem, it proved to be buggy - I got abstract > declarations of nested classes wrong, basically. FWIW, the new logic looks right to me, and the old logic was definitely wrong; I noticed it when I tried to separate this function in two on the intercu branch on Sunday. I think your handling for nested classes in determine_prefix is wrong also; it walks the parents of structs even though structs are sometimes given fully qualified names. I think I managed to create a testcase where class names would be repeated. But now I can't find the testcase so I may have been playing with my own broken code instead. -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer