From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20832 invoked by alias); 26 Nov 2003 21:11:07 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 20825 invoked from network); 26 Nov 2003 21:11:07 -0000 Received: from unknown (HELO hawaii.kealia.com) (209.3.10.89) by sources.redhat.com with SMTP; 26 Nov 2003 21:11:07 -0000 Received: by hawaii.kealia.com (Postfix, from userid 2049) id 9733EC6B6; Wed, 26 Nov 2003 13:11:06 -0800 (PST) To: Ian Lance Taylor Cc: Daniel Jacobowitz , gdb Subject: Re: C++/Java regressions References: <20031126153234.GA10644@nevyn.them.org> From: David Carlton Date: Wed, 26 Nov 2003 21:11:00 -0000 In-Reply-To: (Ian Lance Taylor's message of "26 Nov 2003 16:04:55 -0500") Message-ID: User-Agent: Gnus/5.1002 (Gnus v5.10.2) XEmacs/21.4 (Rational FORTRAN, linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2003-11/txt/msg00263.txt.bz2 On 26 Nov 2003 16:04:55 -0500, Ian Lance Taylor said: > Daniel Jacobowitz writes: >> On Tue, Nov 25, 2003 at 11:04:41PM -0500, Ian Lance Taylor wrote: >>> Then when gdb goes to look up T5, it finds the DWARF psymbol >>> for the class itself, but it also finds that the symbol might be a >>> namespace. It then decides that it is a namespace. >> That sounds like the bit that's wrong. If it found a psymbol for >> the class why does it decide to call it a namespace? > Good question. My guess is that it's because lookup_symbol_aux() > calls current_language->la_lookup_symbol_nonlocal() before it calls > lookup_symbol_aux_psymtabs(). If I force > la_lookup_symbol_nonlocal() to return NULL, then > lookup_symbol_aux_psymtabs() finds the typedef, and `ptype T5' > works more or less correctly. Thanks for the investigation. Then I think that my latest patch awaiting approval should fix this, if we're lucky - it treats C++ class symbols as global objects instead of static objects. (Basically, we want to find the class before we ever reach the calls to lookup_symbol_aux_{,p}symtabs in lookup_symbol_aux: it should be found in the language-specific bit.) I'll double check to make sure that's the issue, but I'm optimistic. David Carlton carlton@kealia.com