1 # Copyright
2015-2023 Free Software Foundation
, Inc.
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.
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.
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
/>.
16 # This file is part of the gdb testsuite.
19 # Test nested functions related functionality.
25 set testcase
"nested-subp3"
27 if ![support_nested_function_tests
] {
28 untested
"compiler does not support nested functions"
34 lappend flags additional_flags
=-std
=gnu99
36 set ld_flags ldflags
=-Wl
,--no
-warn
-execstack
37 if { [gdb_can_simple_compile
ld-flags
{int main
() { return 0; }} executable \
39 lappend flags $ld_flags
42 if { [gdb_compile
"${srcdir}/${subdir}/${testcase}.c" \
43 [standard_output_file
"${testcase}"] \
44 executable $flags
] != "" } {
49 # Run until the variables we are interested in are visible.
51 clean_restart
"${testcase}"
56 set bp_location
[gdb_get_line_number
"STOP" "${testcase}.c"]
57 gdb_test
"break ${testcase}.c:${bp_location}" \
58 "Breakpoint \[0-9\]+ at 0x\[0-9a-fA-F\]+: .*" \
59 "breakpoint to the STOP marker"
61 "Breakpoint \[0-9\]+, child .*" \
62 "continue to the STOP marker"
65 # Check we
get correct
values for both local and non
-local
variable references.
67 gdb_test
"print first" "1"
68 gdb_test
"print parent_first" "1"