From: Aleksandar Ristovski <aristovski@qnx.com>
To: Daniel Jacobowitz <drow@false.org>
Cc: gdb@sourceware.org
Subject: Re: Re: cp-name-parser.y
Date: Mon, 03 Mar 2008 17:02:00 -0000 [thread overview]
Message-ID: <47CC2F00.4000703@qnx.com> (raw)
In-Reply-To: <20080229202918.GB7757@caradoc.them.org>
Daniel Jacobowitz wrote:
> On Fri, Feb 29, 2008 at 02:49:25PM -0500, Aleksandar Ristovski wrote:
>> Daniel Jacobowitz wrote:
>>> On Fri, Feb 29, 2008 at 02:09:13PM -0500, Aleksandar Ristovski wrote:
>>>> I am looking at that since right now something like this:
>>>>
>>>> -var-create - * "(anonymous namespace)::foobar"
>>>>
>
> Yes, we could take the unique string from the mangled name and call it
> (anonymous namespace _MESS_OF_GARBAGE)::foobar, and then recognize
> that syntax when we parse expressions.
I think _MESS_OF_GARBAGE is already sufficient, without combining it with
'(anonymous namespace)'. _MESS_OF_GARBAGE is used only if print demangle is off.
For MI interface, it should (almost always?) be the case.
When '(anonymous namespace)' is used, since it could be any anonymous namespace,
it is not sufficient to uniquely identify a symbol and therefore we can only use
this form if there is a valid frame that will give it a context.
In either case, I see nothing wrong with the way it is printed out, I see the
problem with parsing either of the forms: _MESS_OF_GARBAGE and '(anonymous
namespace)'. The first can not be parsed due to '.' in it and the latter due to
'(anonymous namespace)'.
>
> I don't know how the existing anonymous namespace code works. It was
> David Carlton's work and I wasn't following it at the time. We need
> them internally, to get bare lookup right, but maybe we should not
> display them to the user - just call the type "foobar".
I think it's ok the way it works now - makes it clear where it comes from.
>
> If we do that, though, what if there are multiple types named foobar?
> Completely legal C++. Well, no worse than the problem we have in C
> anyway - so maybe that's the change we should make.
>
>
> We could recognize
> that things with (anonymous namespace) in them are the names of C++
> symbols in c-exp.y.
>
Or we could write new cp-exp.y for parsing mangled and demangled names (but this
probably overlaps with cp-name-parser)?
next prev parent reply other threads:[~2008-03-03 17:02 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-29 18:39 cp-name-parser.y Aleksandar Ristovski
2008-02-29 19:09 ` cp-name-parser.y Daniel Jacobowitz
2008-02-29 19:32 ` cp-name-parser.y Aleksandar Ristovski
2008-02-29 19:49 ` cp-name-parser.y Daniel Jacobowitz
2008-02-29 20:15 ` cp-name-parser.y Aleksandar Ristovski
2008-02-29 21:49 ` cp-name-parser.y Daniel Jacobowitz
2008-03-03 17:02 ` Aleksandar Ristovski [this message]
2008-03-03 17:22 ` cp-name-parser.y Daniel Jacobowitz
2008-03-03 18:33 ` cp-name-parser.y Aleksandar Ristovski
2008-03-03 20:05 ` cp-name-parser.y Daniel Jacobowitz
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=47CC2F00.4000703@qnx.com \
--to=aristovski@qnx.com \
--cc=drow@false.org \
--cc=gdb@sourceware.org \
/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