From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28256 invoked by alias); 11 Mar 2013 17:57:44 -0000 Received: (qmail 28246 invoked by uid 22791); 11 Mar 2013 17:57:43 -0000 X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=AWL,BAYES_00,RCVD_IN_HOSTKARMA_NO X-Spam-Check-By: sourceware.org Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 11 Mar 2013 17:57:27 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id 45FD92E8C2; Mon, 11 Mar 2013 13:57:27 -0400 (EDT) Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id n9PfRbiMWFch; Mon, 11 Mar 2013 13:57:27 -0400 (EDT) Received: from joel.gnat.com (localhost.localdomain [127.0.0.1]) by rock.gnat.com (Postfix) with ESMTP id 146D12E523; Mon, 11 Mar 2013 13:57:27 -0400 (EDT) Received: by joel.gnat.com (Postfix, from userid 1000) id 59A82C15EA; Mon, 11 Mar 2013 13:57:25 -0400 (EDT) Date: Mon, 11 Mar 2013 17:57:00 -0000 From: Joel Brobecker To: Paul Hilfinger Cc: gdb-patches@sourceware.org Subject: Re: [RFA/Ada] Allow 'thread' to be used as a variable name in expressions. Message-ID: <20130311175725.GH3264@adacore.com> References: <20130310075951.B94553FF09@kwai.gnat.com> <20130310153348.GC3264@adacore.com> <20130311083702.6A3813FF09@kwai.gnat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20130311083702.6A3813FF09@kwai.gnat.com> User-Agent: Mutt/1.5.21 (2010-09-15) 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: 2013-03/txt/msg00479.txt.bz2 > gdb/ChangeLog: > > * ada-lex.l (rules): Only recognize 'thread' as a > delimiter when followed by numerals, as for c-exp.y. > Use new rewind_to_char function to rewind the input for > expression-delimiting tokens. > (rewind_to_char): New function. > > gdb/testsuite/ChangeLog: > > * gdb.ada/expr_delims.exp: New file. > * gdb.ada/expr_delims/foo.adb: New file. Thanks, Paul. This is pre-approved, with a couple of small requests. > diff --git a/gdb/testsuite/gdb.ada/expr_delims/foo.adb b/gdb/testsuite/gdb.ada/expr_delims/foo.adb > new file mode 100644 > index 0000000..8384741 > --- /dev/null > +++ b/gdb/testsuite/gdb.ada/expr_delims/foo.adb > @@ -0,0 +1,26 @@ > +-- Copyright 2008-2013 Free Software Foundation, Inc. The copyright year range should start the year the file was committed to medium. Was it 2008? > +-- > +-- This program is free software; you can redistribute it and/or modify > +-- it under the terms of the GNU General Public License as published by > +-- the Free Software Foundation; either version 3 of the License, or > +-- (at your option) any later version. > +-- > +-- This program is distributed in the hope that it will be useful, > +-- but WITHOUT ANY WARRANTY; without even the implied warranty of > +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +-- GNU General Public License for more details. > +-- > +-- You should have received a copy of the GNU General Public License > +-- along with this program. If not, see . > + > +with Ada.Text_IO; use Ada.Text_IO; Can you replace the use of Ada.Text_IO by a dummy package that provides the "Put" function? That way, the testcase can be used when testing no-runtime configurations. See gdb.ada/bp_reset/io.ads, for instance. > + > +procedure Foo is > + Thread: Integer; > +begin > + Thread := 0; > + for I in 1 .. 100 loop > + Thread := Thread + I; -- STOP_HERE > + end loop; > + Put(Integer'Image(Thread)); > +end Foo; -- Joel