1# Copyright (C) 2012-2019 Free Software Foundation, Inc. 2# 3# This program is free software; you can redistribute it and/or modify 4# it under the terms of the GNU General Public License as published by 5# the Free Software Foundation; either version 3 of the License, or 6# (at your option) any later version. 7# 8# This program is distributed in the hope that it will be useful, 9# but WITHOUT ANY WARRANTY; without even the implied warranty of 10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11# GNU General Public License for more details. 12# 13# You should have received a copy of the GNU General Public License 14# along with this program. If not, see <http://www.gnu.org/licenses/>. 15 16standard_testfile .c 17 18if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile}] } { 19 return -1 20} 21 22if ![runto_main] { 23 untested "could not run to main" 24 return -1 25} 26 27gdb_test "break $srcfile:[gdb_get_line_number BREAK $srcfile] if n == 3" \ 28 "Breakpoint $decimal at $hex: file .*recpar\\.c, line $decimal\\." 29 30gdb_test "continue" \ 31 "Breakpoint .* foo \\(n=3\\) at .*$srcfile:$decimal.*" 32 33gdb_test "backtrace" \ 34 "#0 +foo \\(n=3\\).*\r\n#1.* foo \\(n=4\\).*\r\n#2.* foo \\(n=5\\).*#3.* main \\(\\).*" 35 36gdb_test "frame 2" \ 37 "#2 .* foo \\(n=5\\) .*" 38 39# In the currently selected frame, n=5, and thus foo::val should be 5 40# as well. 41gdb_test "print foo::val" \ 42 " = 5" 43