diff options
Diffstat (limited to 'gdb/testsuite/gdb.base/nested-subp2.exp')
-rw-r--r-- | gdb/testsuite/gdb.base/nested-subp2.exp | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.base/nested-subp2.exp b/gdb/testsuite/gdb.base/nested-subp2.exp new file mode 100644 index 0000000..a107d1c --- /dev/null +++ b/gdb/testsuite/gdb.base/nested-subp2.exp @@ -0,0 +1,64 @@ +# Copyright 2015 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 <http://www.gnu.org/licenses/>. + +# This file is part of the gdb testsuite. + +# +# Test nested functions related functionality. +# + +standard_testfile + + +set testcase "nested-subp2" + +if { [gdb_compile "${srcdir}/${subdir}/${testcase}.c" \ + [standard_output_file "${testcase}"] \ + "${testcase}" \ + [list debug "additional_flags=-std=gnu99"]] != "" } { + return -1 +} + + +# Run until the variables we are interested in are visible. + +clean_restart "${testcase}" +if ![runto_main] { + perror "could not run to main" + continue +} + +set bp_location [gdb_get_line_number "STOP" "${testcase}.c"] +gdb_test "break ${testcase}.c:${bp_location}" \ + "Breakpoint \[0-9\]+ at 0x\[0-9a-fA-F\]+: .*" \ + "breakpoint to the STOP marker" +gdb_test "continue" \ + "Breakpoint \[0-9\]+, increment .*" \ + "continue to the STOP marker" + + +# Check we get correct values for both local and non-local variable references. + +gdb_test "print c" "102 'f'" +gdb_test "print count" "0" + + +# Same but a little later: make sure we were looking at the proper places. + +gdb_test "continue" \ + "Breakpoint \[0-9\]+, increment .*" \ + "continue to the STOP marker" +gdb_test "print c" "111 'o'" +gdb_test "print count" "1" |