Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Daniel Berlin <dberlin@dberlin.org>
To: Daniel Jacobowitz <drow@mvista.com>
Cc: Andrew Cagney <ac131313@ges.redhat.com>,
	David Carlton <carlton@math.stanford.edu>,
	gdb <gdb@sources.redhat.com>
Subject: Re: struct environment
Date: Tue, 17 Sep 2002 12:52:00 -0000	[thread overview]
Message-ID: <0221994A-CA77-11D6-9548-000393575BCC@dberlin.org> (raw)
In-Reply-To: <20020917180211.GA23552@nevyn.them.org>


On Tuesday, September 17, 2002, at 02:02  PM, Daniel Jacobowitz wrote:

> 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.

These types of problems are exactly why i said a lot of thought needs 
to be put into the design of the underlying structures, rather than 
just copying what we have because we have it.
It's hard to call it "overengineered" if how to do lookups efficiently 
with large numbers of names in namespaces hasn't been considered.
It's not really something you can bolt on later.
Hasn't this been proven by the fact that it hasn't been bolted on yet?
--Dan


  parent reply	other threads:[~2002-09-17 19:52 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-09-05 13:50 David Carlton
2002-09-06  8:06 ` Daniel Jacobowitz
2002-09-06 10:20   ` David Carlton
2002-09-06 10:57     ` Daniel Jacobowitz
2002-09-06 11:56       ` David Carlton
2002-09-06 12:34         ` Daniel Berlin
2002-09-06 12:41           ` Daniel Jacobowitz
2002-09-06 12:55             ` Daniel Berlin
2002-09-11 11:33         ` David Carlton
2002-09-11 11:36           ` Daniel Jacobowitz
2002-09-11 12:27             ` David Carlton
2002-09-06 14:43   ` David Carlton
2002-09-06 14:46     ` Daniel Jacobowitz
2002-09-06 14:57       ` mdebugread.c (was Re: struct environment) David Carlton
2002-09-06 15:35         ` Daniel Jacobowitz
2002-09-10 17:25   ` struct environment David Carlton
2002-09-10 17:31     ` Daniel Jacobowitz
2002-09-11 10:29       ` David Carlton
2002-09-11 10:55         ` Daniel Jacobowitz
2002-09-11 12:33         ` Daniel Berlin
2002-09-10 17:36     ` David Carlton
2002-09-16 22:03   ` Andrew Cagney
2002-09-06 15:00 ` David Carlton
2002-09-06 16:37   ` Tom Tromey
2002-09-06 17:19     ` David Carlton
2002-09-07 10:26       ` Per Bothner
2002-09-07 10:32         ` Daniel Jacobowitz
2002-09-09 11:18           ` David Carlton
2002-09-12 12:26 ` Andrew Cagney
2002-09-13  9:44   ` David Carlton
2002-09-17  0:48 ` Andrew Cagney
2002-09-17  6:41   ` Daniel Jacobowitz
2002-09-17  8:59     ` Andrew Cagney
2002-09-17  9:07       ` Daniel Jacobowitz
2002-09-17 10:54         ` Andrew Cagney
2002-09-17 11:02           ` Daniel Jacobowitz
2002-09-17 12:37             ` Andrew Cagney
2002-09-17 12:41               ` Daniel Jacobowitz
2002-09-18  8:13                 ` Andrew Cagney
2002-09-17 12:52             ` Daniel Berlin [this message]
2002-09-17 13:34               ` Daniel Jacobowitz
2002-09-17 21:51                 ` Daniel Berlin
2002-09-18  7:26                   ` Daniel Jacobowitz
2002-09-18  9:08                   ` David Carlton
2002-09-17 12:18     ` David Carlton
2002-09-17 10:29   ` David Carlton
2002-09-17 12:50     ` Daniel Berlin
2002-09-17 13:24       ` David Carlton
2002-09-18 22:26 ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0221994A-CA77-11D6-9548-000393575BCC@dberlin.org \
    --to=dberlin@dberlin.org \
    --cc=ac131313@ges.redhat.com \
    --cc=carlton@math.stanford.edu \
    --cc=drow@mvista.com \
    --cc=gdb@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox