# Copyright 2012-2024 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 # 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 . standard_testfile lspec.cc set execfile $testfile set baseone base/one/thefile.cc set basetwo base/two/thefile.cc require allow_cplus_tests if {[prepare_for_testing "failed to prepare" $execfile \ [list $srcfile $baseone $basetwo] \ {debug nowarnings c++}]} { return -1 } gdb_test "skip function dupname" \ {Function dupname will be skipped when stepping\.} if ![runto_main] { return -1 } set test "dupname ignored from main" gdb_test_multiple "step" $test { -re "^step\r\ndupname .*\r\n$gdb_prompt $" { fail $test } -re "^step\r\nm .*\r\n$gdb_prompt $" { pass $test } } gdb_breakpoint "n" gdb_continue_to_breakpoint "n" ".* dupname.* thefile breakpoint .*" set test "dupname ignored from n" gdb_test_multiple "step" $test { -re "^step\r\ndupname .*\r\n$gdb_prompt $" { fail $test } -re "^step\r\n\[^\r\n\]* after dupname .*\r\n$gdb_prompt $" { pass $test } } gdb_test_no_output "skip delete 1" gdb_test "skip file thefile.cc" \ {File thefile\.cc will be skipped when stepping\.} if ![runto_main] { return -1 } gdb_test "step" "static int dupname .*" "step into dupname" gdb_test "finish" "return dupname.* body_elsewhere.*" "finish from dupname" set test "dupname ignored for thefile.cc" gdb_test_multiple "step" $test { -re "^step\r\ndupname .*\r\n$gdb_prompt $" { fail $test } -re "^step\r\nf1 .* f1 breakpoint .*\r\n$gdb_prompt $" { pass $test } }