From: Jim Blandy <jimb@codesourcery.com>
To: Michael Snyder <msnyder@specifix.com>
Cc: Mark Kettenis <mark.kettenis@xs4all.nl>,
eliz@gnu.org, uweigand@de.ibm.com, brobecker@adacore.com,
gdb-patches@sourceware.org
Subject: Re: [RFC/RFA?] Should break FILE:LINENO skip prologue?
Date: Thu, 17 Jan 2008 22:09:00 -0000 [thread overview]
Message-ID: <m38x2om7ex.fsf@codesourcery.com> (raw)
In-Reply-To: <1200606670.3263.85.camel@localhost.localdomain> (Michael Snyder's message of "Thu, 17 Jan 2008 13:51:10 -0800")
Michael Snyder <msnyder at specifix.com> writes:
> On Thu, 2008-01-17 at 10:45 +0100, Mark Kettenis wrote:
>> > From: Michael Snyder <msnyder@specifix.com>
>> > Date: Wed, 16 Jan 2008 20:18:03 -0800
>> >
>> > On Thu, 2008-01-17 at 06:13 +0200, Eli Zaretskii wrote:
>> > > > Cc: Mark Kettenis <mark.kettenis@xs4all.nl>, uweigand@de.ibm.com,
>> > > > brobecker@adacore.com, msnyder@specifix.com,
>> > > > gdb-patches@sourceware.org
>> > > > From: Jim Blandy <jimb@codesourcery.com>
>> > > > Date: Wed, 16 Jan 2008 13:36:11 -0800
>> > > >
>> > > > GDB allows 'FILENAME'::FUNCTION in C expressions:
>> > >
>> > > Thanks.
>> > >
>> > > But if "break *'FILENAME'::FUNCTION" works, why is it wrong to expect
>> > > that "break *FILENAME:FUNCTION" should also work. None of them is a
>> > > valid C expression, it's just something GDB does to help the user,
>> > > right?
>> >
>> > Right. It is a separate parser, the LINEINFO parser, as
>> > opposed to the expression parser. It defines a superset
>> > of the expression syntax. It is used mainly by the 'break'
>> > and 'list' commands.
>>
>> That isn't quite true. The LINESPEC (I assume that's what you meant
>> with LINEINFO) parser only parses the '*' and then hands things off to
>> the standard expression parser.
>>
>> This of course is a good thing, because it means expressions are
>> handled uniformly all over GDB.
>
> We're on the same page, possibly not the same paragraph.
>
> I'm not looking at the code, just going from memory --
> but I think the LINESPEC parser used to do a bit more
> than just parse the "*". For instance, it would have to
> parse that "::" up there, n'est ce pas?
Actually, :: is actually a GDB extension to the C expression syntax.
If you look at the example interaction in the message at the link, you
can see this in the two 'print' commands, where I use the :: operator.
http://sourceware.org/ml/gdb-patches/2008-01/msg00417.html
> Anyway, yes, the LINESPEC parser does call the expression
> parser, but it also does some syntax itself, thus generating
> a superset of the language-specified expression syntax.
> We're all agreed on that much.
Once it has recognized the '*', linespec.c passes things off directly
to the language expression parser, with no further munging; see the
code fragments I posted here:
http://sourceware.org/ml/gdb-patches/2008-01/msg00354.html
So, the syntax of things that may appear after the '*' is exactly an
expression, no less or more.
next prev parent reply other threads:[~2008-01-17 22:09 UTC|newest]
Thread overview: 98+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-09 15:18 Joel Brobecker
2008-01-09 19:11 ` Jim Blandy
2008-01-09 19:16 ` Daniel Jacobowitz
2008-01-09 19:46 ` Joel Brobecker
2008-01-09 20:38 ` Eric Botcazou
2008-01-10 11:01 ` Mark Kettenis
2008-01-10 11:45 ` Eric Botcazou
2008-01-10 21:47 ` Michael Snyder
2008-01-10 22:10 ` Mark Kettenis
2008-01-11 5:36 ` Joel Brobecker
2008-01-11 11:28 ` Mark Kettenis
2008-01-11 18:22 ` Joel Brobecker
2008-01-11 21:07 ` Eli Zaretskii
2008-01-11 21:14 ` Mark Kettenis
2008-01-12 12:18 ` Eli Zaretskii
2008-01-12 14:30 ` Joel Brobecker
2008-01-12 12:25 ` Eli Zaretskii
2008-01-12 14:35 ` Joel Brobecker
2008-01-12 15:32 ` Mark Kettenis
2008-01-12 15:55 ` Eli Zaretskii
2008-01-12 16:03 ` Joel Brobecker
2008-01-12 16:26 ` Eli Zaretskii
2008-01-12 16:18 ` Mark Kettenis
2008-01-12 16:57 ` Eli Zaretskii
2008-01-12 17:58 ` Daniel Jacobowitz
2008-01-13 4:22 ` Eli Zaretskii
2008-01-13 6:25 ` Joel Brobecker
2008-01-13 6:54 ` Eli Zaretskii
2008-01-13 10:36 ` Joel Brobecker
2008-01-14 23:02 ` Michael Snyder
2008-01-15 3:57 ` Joel Brobecker
2008-01-14 22:57 ` Michael Snyder
2008-01-13 9:21 ` Mark Kettenis
2008-01-13 10:19 ` Eli Zaretskii
2008-01-14 22:25 ` Jim Blandy
2008-01-14 22:33 ` Mark Kettenis
2008-01-14 10:30 ` Pierre Muller
2008-01-14 12:25 ` Daniel Jacobowitz
2008-01-14 23:00 ` Michael Snyder
2008-01-15 17:13 ` Jim Blandy
2008-01-14 22:17 ` Jim Blandy
2008-01-14 22:50 ` Michael Snyder
2008-01-15 12:29 ` Daniel Jacobowitz
2008-01-15 12:39 ` Joel Brobecker
2008-01-15 17:15 ` Jim Blandy
2008-01-15 18:47 ` Eli Zaretskii
2008-01-15 21:40 ` Ulrich Weigand
2008-01-15 23:24 ` Andreas Schwab
2008-01-16 4:21 ` Eli Zaretskii
2008-01-16 9:13 ` Andreas Schwab
2008-01-16 18:49 ` Eli Zaretskii
2008-01-16 21:13 ` Andreas Schwab
2008-01-16 4:15 ` Eli Zaretskii
2008-01-16 4:20 ` Eli Zaretskii
2008-01-16 10:35 ` Mark Kettenis
2008-01-16 18:57 ` Eli Zaretskii
2008-01-16 21:36 ` Jim Blandy
2008-01-17 4:13 ` Eli Zaretskii
2008-01-17 4:18 ` Michael Snyder
2008-01-17 9:47 ` Mark Kettenis
2008-01-17 21:51 ` Michael Snyder
2008-01-17 22:09 ` Jim Blandy [this message]
2008-01-17 23:42 ` Michael Snyder
2008-01-17 18:38 ` Jim Blandy
2008-01-19 13:47 ` Eli Zaretskii
2008-01-20 15:03 ` Joel Brobecker
2008-01-20 19:50 ` Eli Zaretskii
2008-01-21 2:27 ` Joel Brobecker
2008-01-26 19:58 ` Eli Zaretskii
2008-01-16 21:25 ` Jim Blandy
2008-01-16 2:10 ` Michael Snyder
2008-01-11 20:32 ` Michael Snyder
2008-01-11 20:36 ` Eric Botcazou
2008-01-10 22:21 ` Eric Botcazou
2008-01-10 14:06 ` Daniel Jacobowitz
2008-01-10 17:06 ` Jim Blandy
2008-01-09 19:44 ` Joel Brobecker
2008-01-09 19:16 ` Mark Kettenis
2008-01-09 20:01 ` Joel Brobecker
2008-01-09 20:25 ` Michael Snyder
2008-01-09 20:35 ` Joel Brobecker
2008-01-09 21:05 ` Michael Snyder
2008-01-10 4:16 ` Eli Zaretskii
2008-01-10 4:16 ` Joel Brobecker
2008-01-10 9:29 ` Andreas Schwab
2008-01-11 10:35 ` Eli Zaretskii
2008-01-10 10:39 ` Mark Kettenis
2008-01-10 15:39 ` Joel Brobecker
2008-01-10 15:51 ` Daniel Jacobowitz
2008-01-11 10:44 ` Eli Zaretskii
2008-01-10 15:46 ` Daniel Jacobowitz
2008-01-10 21:49 ` Michael Snyder
2008-01-10 17:15 ` Jim Blandy
2008-01-31 22:17 ` Daniel Jacobowitz
2008-01-31 22:59 ` Joel Brobecker
2008-02-02 1:20 ` Joel Brobecker
2008-02-27 19:48 ` Daniel Jacobowitz
2008-02-27 20:52 ` Joel Brobecker
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=m38x2om7ex.fsf@codesourcery.com \
--to=jimb@codesourcery.com \
--cc=brobecker@adacore.com \
--cc=eliz@gnu.org \
--cc=gdb-patches@sourceware.org \
--cc=mark.kettenis@xs4all.nl \
--cc=msnyder@specifix.com \
--cc=uweigand@de.ibm.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