From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14558 invoked by alias); 21 Nov 2009 05:17:07 -0000 Received: (qmail 14547 invoked by uid 22791); 21 Nov 2009 05:17:05 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 21 Nov 2009 05:15:57 +0000 Received: (qmail 29449 invoked from network); 21 Nov 2009 05:15:55 -0000 Received: from unknown (HELO orlando.local) (pedro@127.0.0.2) by mail.codesourcery.com with ESMTPA; 21 Nov 2009 05:15:55 -0000 From: Pedro Alves To: gdb-patches@sourceware.org Subject: Re: [RFA] Add parsing support for C++ operators Date: Sat, 21 Nov 2009 05:17:00 -0000 User-Agent: KMail/1.9.10 Cc: Keith Seitz References: <4AFA0A93.7040709@redhat.com> In-Reply-To: <4AFA0A93.7040709@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Message-Id: <200911210515.59072.pedro@codesourcery.com> 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: 2009-11/txt/msg00459.txt.bz2 On Wednesday 11 November 2009 00:51:31, Keith Seitz wrote: > + =A0 =A0set expected [regsub {\(void\)} $name {()}] > + set demangled [regsub {\\\(void\\\)} $demangled {\(\)}] This syntax doesn't work on older tcl's: ERROR: tcl error sourcing ../../../src/gdb/testsuite/gdb.cp/cplusfuncs.exp. ERROR: wrong # args: should be "regsub ?switches? exp string subSpec varNam= e" while executing "regsub {\(void\)} $name {()}" (procedure "print_addr" line 2) invoked from within "print_addr "overload1arg($dm_type_void)"" : I'm applying the fix below to use the old regsub syntax. (this patch doesn't conflict with your pending patches) Keith, I've found a similar issue in your new cpexprs.exp test. I'm using this local change on top of your patch: Index: src/gdb/testsuite/gdb.cp/cpexprs.exp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- src.orig/gdb/testsuite/gdb.cp/cpexprs.exp 2009-11-21 01:26:00.0000000= 00 +0000 +++ src/gdb/testsuite/gdb.cp/cpexprs.exp 2009-11-21 01:26:13.0000000= 00 +0000 @@ -73,7 +73,7 @@ proc add {func type print lst} { # An exception: since gdb canonicalizes C++ output, # "(void)" must be mutated to "()". - set print [regsub {\(void\)} $print {()}] + regsub {\(void\)} $print {()} print --=20 Pedro Alves 2009-11-21 Pedro Alves * gdb.cp/cplusfuncs.exp (info_func_regexp, print_addr): Don't assume new `regsub' syntax available. --- gdb/testsuite/gdb.cp/cplusfuncs.exp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) Index: src/gdb/testsuite/gdb.cp/cplusfuncs.exp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- src.orig/gdb/testsuite/gdb.cp/cplusfuncs.exp 2009-11-21 01:42:01.000000= 000 +0000 +++ src/gdb/testsuite/gdb.cp/cplusfuncs.exp 2009-11-21 01:43:25.000000000 += 0000 @@ -241,7 +241,7 @@ proc info_func_regexp { name demangled } global gdb_prompt =20 send_gdb "info function $name\n" - set demangled [regsub {\\\(void\\\)} $demangled {\(\)}] + regsub {\\\(void\\\)} $demangled {\(\)} demangled gdb_expect { -re ".*File .*:\r\n(class |)$demangled\r\n.*$gdb_prompt $" { pass "info function for \"$name\"" @@ -328,7 +328,7 @@ proc print_addr_2_kfail { name good bad=20 # =20 proc print_addr { name } { - set expected [regsub {\(void\)} $name {()}] + regsub {\(void\)} $name {()} expected if {[string first "::" $name] =3D=3D -1} { # C function -- must be qutoed set name "'$name'"