This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC/RFA?] Should break FILE:LINENO skip prologue?


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? 

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.




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]