From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Elizabeth Chastain To: gdb-patches@sourceware.cygnus.com Subject: [RFA] testsuite/gdb.c++/local.exp: work around "marker() ()" bug Date: Sun, 22 Apr 2001 21:33:00 -0000 Message-id: <200104230433.VAA18271@bosch.cygnus.com> X-SW-Source: 2001-04/msg00212.html This is Sunday Project Patch #9. This patch changes testsuite/gdb.c++/local.exp to use to library function 'runto to reach a marker function. This simplifies the file, and it accommodates a bug in gdb when using g++ v3pre. The bug is PR gdb/34, "g++ v3 functions show as "inheritance2() ()"". testsuite/gdb.c++/method.exp has one specific test case to detect this bug, so I want to fix other test scripts so that they don't cascade fail on this bug. Before and after results with g++ v3pre: before: 0 PASS, 3 FAIL, 0 XPASS, 2 XFAIL after: 1 PASS, 2 FAIL, 0 XPASS, 2 XFAIL I tested this on native Red Hat Linux 7 and native Solaris 2.6 with gcc 2.95.3 and gcc 3pre dated 2001-04.22. OK to apply? Michael === 2001-04-22 Michael Chastain * gdb.c++/local.exp: Use the 'runto' library function. === Index: gdb/testsuite/gdb.c++/local.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.c++/local.exp,v retrieving revision 1.5 diff -c -3 -p -r1.5 local.exp *** gdb/testsuite/gdb.c++/local.exp 2001/03/06 08:21:53 1.5 --- gdb/testsuite/gdb.c++/local.exp 2001/04/23 04:25:26 *************** *** 1,4 **** ! # Copyright 1998, 1999, 2000 Free Software Foundation, Inc. # 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 --- 1,4 ---- ! # Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc. # 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 *************** if ![runto_main] then { *** 61,85 **** continue } ! send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $" ! send_gdb "cont\n" ! gdb_expect { ! -re "Break.* marker1 \\(\\) at .*:$decimal.*$gdb_prompt $" { ! send_gdb "up\n" ! gdb_expect { ! -re ".*main.*$gdb_prompt $" { ! pass "up from marker1" ! } ! -re ".*$gdb_prompt $" { ! fail "up from marker1" ! } ! timeout { fail "up from marker1 (timeout)" } ! } ! } ! -re "$gdb_prompt $" { fail "continue to marker1" } ! timeout { fail "(timeout) continue to marker1" } ! } # srikanth, These tests have always been run only with aCC. Now in # the new scheme of things, we run it twice, once with aCC, and once --- 61,73 ---- continue } ! if ![runto 'marker1'] then { ! perror "couldn't run to marker1" ! continue ! } ! gdb_test "up" ".*main.*" "up from marker1" ! # srikanth, These tests have always been run only with aCC. Now in # the new scheme of things, we run it twice, once with aCC, and once