Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <drow@mvista.com>
To: gdb <gdb@sources.redhat.com>
Subject: Re: current namespace game plan
Date: Fri, 04 Oct 2002 15:10:00 -0000	[thread overview]
Message-ID: <20021004221117.GA21018@nevyn.them.org> (raw)
In-Reply-To: <ro165whq33n.fsf@jackfruit.Stanford.EDU>

On Fri, Oct 04, 2002 at 02:57:32PM -0700, David Carlton wrote:
> I've been tossing around namespace ideas in my head for a while, and
> they're starting to converge on a game plan that makes sense to me; I
> wanted to run it by other people.  Feel free to skip the parts of this
> message starting with "So that's the first step".
> 
> 
> The initial goal is to have GDB work about as well as it does now,
> with the addition that lookup of global symbols will be more likely to
> find symbols in namespaces where appropriate (and where the compiler
> provides enough debugging information).  There are a few ways that you
> can add namespaces that should be searched during symbol lookup:
> 
> * By explicit 'using' directives.
> * By anonymous namespaces.
> * By looking at what namespace the current function is defined in.
> * By looking at the arguments of a function that you're trying to
>   call.

You're skipping what I'd consider the most important step.

We can't even get namespaces right when the user gives us a fully
qualified name.  We do it for variables and functions by resorting to
the minsym and physname.  But types?  No way.  They all get entered in
the top level.

Same thing for types in other types.

We need:
  - DWARF-2 namespace support in the reader which is very easy,
both Dan Berlin and I have working code for this
  - DWARF-2 namespace support in GCC which Dan Berlin has done,
awaiting the GDB support
  - Inference support in both DWARF-2 and Stabs readers; I have the
prototypes of this all done.  We can correctly infer a type's full name
for everything but enums, I believe.

And:
  - Code to not print excessive qualification on names, for
instance printing the fully qualified type in constructors; it's ugly
and causes needless testsuite churn.

What I really should do is bundle up what I have onto a branch.  If I
feel inspired enough I'll try to do it tomorrow.  The last point caused
me to stop and focus on type printing and type correctness for a bit,
and I got completely sidetracked; a branch would help a lot.


-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


  reply	other threads:[~2002-10-04 22:10 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-04 14:57 David Carlton
2002-10-04 15:10 ` Daniel Jacobowitz [this message]
2002-10-04 15:58   ` David Carlton
2002-10-04 17:18     ` Daniel Jacobowitz
2002-10-04 19:43 ` Jim Blandy
2002-10-07 11:50   ` David Carlton
2002-10-16 11:14     ` Elena Zannoni
2002-10-16 11:46       ` David Carlton
2002-10-21 12:08         ` Andrew Cagney
2002-10-23 16:36           ` Andrew Cagney
2002-10-23 16:47             ` Daniel Jacobowitz
2002-10-23 18:22               ` Andrew Cagney
2002-10-23 21:02                 ` Stan Shebs
2002-10-24 15:07             ` David Carlton
2002-10-24 15:26               ` Andrew Cagney

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=20021004221117.GA21018@nevyn.them.org \
    --to=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