[gdb/testsuite] Fix set $var val in gdb.dwarf2/dw2-is-stmt.exp
authorTom de Vries <tdevries@suse.de>
Fri, 24 Sep 2021 10:39:14 +0000 (12:39 +0200)
committerTom de Vries <tdevries@suse.de>
Fri, 24 Sep 2021 10:39:14 +0000 (12:39 +0200)
When doing a testrun with:
...
$ make check RUNTESTFLAGS=$(cd $src/gdb/testsuite/; echo gdb.dwarf2/*.exp)
...
I ran into:
...
ERROR: tcl error sourcing gdb.dwarf2/dw2-is-stmt.exp.
ERROR: expected integer but got "dw2-abs-hi-pc-world.c"
    while executing
"incr i"
...

The variable i is set in gdb.dwarf2/dw2-abs-hi-pc.exp, and leaks to
gdb.dwarf2/dw2-is-stmt.exp.  It's not removed by gdb_cleanup_globals because i
is set as global variable by runtest.exp, which does:
...
for { set i 0 } { $i < $argc } { incr i } {
...
at toplevel but forgets to unset the variable.

Fix this by removing '$' in front of the variable name when doing set:
...
-set $i 0
+set i 0
...

Tested on x86_64-linux.

gdb/testsuite/gdb.dwarf2/dw2-is-stmt.exp

index 90f7647cbee7633d66c66c94fed5188809dc9907..bb0afe1c282c64cb060d1be5b7581637aba1c3c1 100644 (file)
@@ -188,7 +188,7 @@ runto_main
 # be a single instruction between line_label_1 and line_label_2, but
 # we allow for up to 25 (just a random number).
 
-set $i 0
+set i 0
 set pc [get_hexadecimal_valueof "\$pc" "NO-PC" \
           "get pc before stepi loop at line_label_1"]
 while { $pc < $ll2 } {
@@ -218,7 +218,7 @@ while { $pc < $ll2 } {
 # Now single instruction step forward until GDB reports a new source
 # line, at which point we should be at line_label_5.
 
-set $i 0
+set i 0
 set pc [get_hexadecimal_valueof "\$pc" "NO-PC" \
           "get pc before stepi loop at line_label_2"]
 while { $pc < $ll5 } {