From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20803 invoked by alias); 17 Jan 2008 21:51:30 -0000 Received: (qmail 20794 invoked by uid 22791); 17 Jan 2008 21:51:30 -0000 X-Spam-Check-By: sourceware.org Received: from bluesmobile.specifix.com (HELO bluesmobile.specifix.com) (216.129.118.140) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 17 Jan 2008 21:51:13 +0000 Received: from [127.0.0.1] (bluesmobile.specifix.com [216.129.118.140]) by bluesmobile.specifix.com (Postfix) with ESMTP id E362F3C0BE; Thu, 17 Jan 2008 13:51:10 -0800 (PST) Subject: Re: [RFC/RFA?] Should break FILE:LINENO skip prologue? From: Michael Snyder To: Mark Kettenis Cc: eliz@gnu.org, jimb@codesourcery.com, uweigand@de.ibm.com, brobecker@adacore.com, gdb-patches@sourceware.org In-Reply-To: <200801170945.m0H9jZ2I004104@brahms.sibelius.xs4all.nl> References: <200801152140.m0FLeMha003566@d12av02.megacenter.de.ibm.com> <200801161034.m0GAYfpk000326@brahms.sibelius.xs4all.nl> <1200543483.3263.73.camel@localhost.localdomain> <200801170945.m0H9jZ2I004104@brahms.sibelius.xs4all.nl> Content-Type: text/plain Date: Thu, 17 Jan 2008 21:51:00 -0000 Message-Id: <1200606670.3263.85.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.10.3 (2.10.3-4.fc7) Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2008-01/txt/msg00460.txt.bz2 On Thu, 2008-01-17 at 10:45 +0100, Mark Kettenis wrote: > > From: Michael Snyder > > Date: Wed, 16 Jan 2008 20:18:03 -0800 > > > > On Thu, 2008-01-17 at 06:13 +0200, Eli Zaretskii wrote: > > > > Cc: Mark Kettenis , uweigand@de.ibm.com, > > > > brobecker@adacore.com, msnyder@specifix.com, > > > > gdb-patches@sourceware.org > > > > From: Jim Blandy > > > > 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.