From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3364 invoked by alias); 11 Apr 2003 19:38:36 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 3356 invoked from network); 11 Apr 2003 19:38:35 -0000 Received: from unknown (HELO zenia.red-bean.com) (12.222.151.100) by sources.redhat.com with SMTP; 11 Apr 2003 19:38:35 -0000 Received: from zenia.red-bean.com (localhost.localdomain [127.0.0.1]) by zenia.red-bean.com (8.12.5/8.12.5) with ESMTP id h3BJdrFq030614; Fri, 11 Apr 2003 14:39:53 -0500 Received: (from jimb@localhost) by zenia.red-bean.com (8.12.5/8.12.5/Submit) id h3BJdqL7030610; Fri, 11 Apr 2003 14:39:52 -0500 To: David Carlton Cc: gdb-patches@sources.redhat.com Subject: Re: RFA: match source code, not line numbers References: From: Jim Blandy Date: Fri, 11 Apr 2003 19:38:00 -0000 In-Reply-To: Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2.95 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2003-04/txt/msg00240.txt.bz2 David Carlton writes: > How about you add a comment like "// done-with-marker1" at the end of > both lines in question (in each test), and then put > 'done-with-marker1' in your regexp instead of the matches for the > bodies of the two lines? That would satisfy my concerns, avoid the > need for gdb_get_line_number, and make the regexp a little simpler. I think that's a great idea. How's this: gdb/testsuite/ChangeLog: 2003-04-11 Jim Blandy * gdb.c++/derivation.exp, gdb.c++/overload.exp, gdb.c++/userdef.cc: Place comments on the lines to which the marker function might return. * gdb.c++/derivation.exp, gdb.c++/overload.exp, gdb.c++/userdef.exp: Look for those comments to check that we've returned to the right place, instead of checking line numbers. Index: gdb/testsuite/gdb.c++/derivation.cc =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.c++/derivation.cc,v retrieving revision 1.1.1.1 diff -c -r1.1.1.1 derivation.cc *** gdb/testsuite/gdb.c++/derivation.cc 16 Apr 1999 01:34:32 -0000 1.1.1.1 --- gdb/testsuite/gdb.c++/derivation.cc 11 Apr 2003 19:36:33 -0000 *************** *** 214,222 **** #endif ! marker1(); ! a_instance.a = 20; a_instance.aa = 21; b_instance.b = 22; b_instance.bb = 23; --- 214,222 ---- #endif ! marker1(); // marker1-returns-here ! a_instance.a = 20; // marker1-returns-here a_instance.aa = 21; b_instance.b = 22; b_instance.bb = 23; Index: gdb/testsuite/gdb.c++/derivation.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.c++/derivation.exp,v retrieving revision 1.11 diff -c -r1.11 derivation.exp *** gdb/testsuite/gdb.c++/derivation.exp 9 Apr 2003 23:21:14 -0000 1.11 --- gdb/testsuite/gdb.c++/derivation.exp 11 Apr 2003 19:36:33 -0000 *************** *** 310,316 **** -re "#0 marker1.*$gdb_prompt $" { setup_kfail "gdb/1155" s390-*-linux-gnu fail "re-selected 'main' frame after inferior call" ! gdb_test "finish" ".*main.*at .*derivation.cc:21\[79\].*" \ "finish call to marker1" } -re "#1 ($hex in )?main.*$gdb_prompt $" { --- 310,316 ---- -re "#0 marker1.*$gdb_prompt $" { setup_kfail "gdb/1155" s390-*-linux-gnu fail "re-selected 'main' frame after inferior call" ! gdb_test "finish" ".*main.*at .*derivation.cc:.*// marker1-returns-here.*" \ "finish call to marker1" } -re "#1 ($hex in )?main.*$gdb_prompt $" { Index: gdb/testsuite/gdb.c++/overload.cc =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.c++/overload.cc,v retrieving revision 1.2 diff -c -r1.2 overload.cc *** gdb/testsuite/gdb.c++/overload.cc 4 Feb 2003 21:19:27 -0000 1.2 --- gdb/testsuite/gdb.c++/overload.cc 11 Apr 2003 19:36:33 -0000 *************** *** 80,87 **** // Verify that intToChar should work: intToChar(1); ! marker1(); ! return 0; } foo::foo (int i) { ifoo = i; ccpfoo = NULL; } --- 80,87 ---- // Verify that intToChar should work: intToChar(1); ! marker1(); // marker1-returns-here ! return 0; // marker1-returns-here } foo::foo (int i) { ifoo = i; ccpfoo = NULL; } Index: gdb/testsuite/gdb.c++/overload.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.c++/overload.exp,v retrieving revision 1.11 diff -c -r1.11 overload.exp *** gdb/testsuite/gdb.c++/overload.exp 9 Apr 2003 23:21:14 -0000 1.11 --- gdb/testsuite/gdb.c++/overload.exp 11 Apr 2003 19:36:33 -0000 *************** *** 129,135 **** -re "#0 marker1.*$gdb_prompt $" { setup_kfail "gdb/1155" s390-*-linux-gnu fail "re-selected 'main' frame after inferior call" ! gdb_test "finish" ".*main.*at .*overload.cc:7\[78\].*" \ "finish call to marker1" } -re "#1 ($hex in )?main.*$gdb_prompt $" { --- 129,135 ---- -re "#0 marker1.*$gdb_prompt $" { setup_kfail "gdb/1155" s390-*-linux-gnu fail "re-selected 'main' frame after inferior call" ! gdb_test "finish" ".*main.*at .*overload.cc:.*// marker1-returns-here.*" \ "finish call to marker1" } -re "#1 ($hex in )?main.*$gdb_prompt $" { Index: gdb/testsuite/gdb.c++/userdef.cc =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.c++/userdef.cc,v retrieving revision 1.2 diff -c -r1.2 userdef.cc *** gdb/testsuite/gdb.c++/userdef.cc 8 Jan 2002 16:00:16 -0000 1.2 --- gdb/testsuite/gdb.c++/userdef.cc 11 Apr 2003 19:36:33 -0000 *************** *** 273,280 **** A1 three(0,0); int val; ! marker1(); ! cout << one; cout << two; three = one + two; cout << "+ " << three; --- 273,280 ---- A1 three(0,0); int val; ! marker1(); // marker1-returns-here ! cout << one; // marker1-returns-here cout << two; three = one + two; cout << "+ " << three; Index: gdb/testsuite/gdb.c++/userdef.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.c++/userdef.exp,v retrieving revision 1.7 diff -c -r1.7 userdef.exp *** gdb/testsuite/gdb.c++/userdef.exp 9 Apr 2003 23:21:14 -0000 1.7 --- gdb/testsuite/gdb.c++/userdef.exp 11 Apr 2003 19:36:34 -0000 *************** *** 75,81 **** -re "#0 marker1.*$gdb_prompt $" { setup_kfail "gdb/1155" s390-*-linux-gnu fail "re-selected 'main' frame after inferior call" ! gdb_test "finish" ".*main.*at .*userdef.cc:27\[67\].*" \ "finish call to marker1" } -re "#1 ($hex in )?main.*$gdb_prompt $" { --- 75,81 ---- -re "#0 marker1.*$gdb_prompt $" { setup_kfail "gdb/1155" s390-*-linux-gnu fail "re-selected 'main' frame after inferior call" ! gdb_test "finish" ".*main.*at .*userdef.cc:.*// marker1-returns-here.*" \ "finish call to marker1" } -re "#1 ($hex in )?main.*$gdb_prompt $" {