From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29910 invoked by alias); 17 Sep 2002 18:02:24 -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 29891 invoked from network); 17 Sep 2002 18:02:23 -0000 Received: from unknown (HELO crack.them.org) (65.125.64.184) by sources.redhat.com with SMTP; 17 Sep 2002 18:02:23 -0000 Received: from nevyn.them.org ([66.93.61.169] ident=mail) by crack.them.org with asmtp (Exim 3.12 #1 (Debian)) id 17rNbv-0004CQ-00; Tue, 17 Sep 2002 14:02:11 -0500 Received: from drow by nevyn.them.org with local (Exim 3.35 #1 (Debian)) id 17rMfr-0006Bf-00; Tue, 17 Sep 2002 14:02:11 -0400 Date: Tue, 17 Sep 2002 11:02:00 -0000 From: Daniel Jacobowitz To: Andrew Cagney Cc: David Carlton , gdb Subject: Re: struct environment Message-ID: <20020917180211.GA23552@nevyn.them.org> Mail-Followup-To: Andrew Cagney , David Carlton , gdb References: <3D86DE18.6030003@ges.redhat.com> <20020917134057.GA26237@nevyn.them.org> <3D875149.9080502@ges.redhat.com> <20020917160700.GA20451@nevyn.them.org> <3D876C3F.2090401@ges.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3D876C3F.2090401@ges.redhat.com> User-Agent: Mutt/1.5.1i X-SW-Source: 2002-09/txt/msg00229.txt.bz2 On Tue, Sep 17, 2002 at 01:54:07PM -0400, Andrew Cagney wrote: > >Well, sort of. It won't be a DAG necessarily (I think that mutual > >>>"using" statements are legal in C++; I remember a GCC bug involving > >>>them was fixed not long ago), and it will be somewhat complicated > >>>figuring out which ones to look up (namespace links are different than > >>>block scope links). > > > >> > >>Don't forget that GDB doesn't need to model the language. Just the > >>namespace behavior at a given PC. The effect of "using" would be to > >>just grow a nametab in someway. > > > > > >This is legal C++: > > > >namespace D {} > > > >namespace C { > > using namespace D; > > int x, y; > >} > > > >namespace D { > > using namespace C; > > int x, z; > >} > > > >If using just grew a nametab we'd get into a great deal of trouble. > > Depends on how you grow it :-) Something like (assuming a real language > :-): > D: > 0: x, z > 1: x, y (from C) > 2: ... How you intend to do this efficiently I don't know. Remember that C uses D in turn, and that things "using"'d into D will therefore be visible in C. -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer