1 # Copyright
2011-2019 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
/>.
21 # This test can only be run
on targets which support DWARF
-2 and use gas.
22 if ![dwarf2_support
] {
26 # This test can only be run
on x86
-64 targets.
27 if {![istarget x86_64
-*] ||
![is_lp64_target
]} {
31 if { [prepare_for_testing
"failed to prepare" "${test}" ${test}.S {nodebug additional_flags=-nostdlib}] } {
39 # Initialize tests to be an empty array.
40 unset
-nocomplain tests
43 proc gdb
-test
{line var value
} {
46 lappend tests
($line
) [list $var $value
0]
49 proc xfail
-gdb
-test
{line var value
} {
52 lappend tests
($line
) [list $var $value
1]
55 proc scan_gdb_tests
{} {
56 global srcdir subdir test
58 set file
"$srcdir/$subdir/$test.c"
63 if {! [regexp
"\{ (gdb-test .+) \} \}" $line ignore test_cmd]} {
74 foreach line
[lsort
[array names tests
]] {
75 gdb_test
"break ${test}.c:$line" "Breakpoint .*" \
76 "set breakpoint at ${test}.c:$line"
77 gdb_continue_to_breakpoint
"continue to ${test}.c:$line"
79 foreach testvec $tests
($line
) {
80 set var
[lindex $testvec
0]
81 set value
[lindex $testvec
1]
82 set should_xfail
[lindex $testvec
2]
88 gdb_test
"print $var" \
90 "check value of $var at ${test}.c:$line"