[gdb/testsuite] Fix control-flow in gdb.reverse/insn-reverse.exp
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.reverse / insn-reverse.exp
index 583195263caef2f8b8428db56f8b338c52fe8585..54af9582f23792f5f72280e8ff37176f3b870c62 100644 (file)
@@ -79,23 +79,27 @@ proc test { func testcase_nr } {
        set count 0
        set insn_addr ""
        for {} {$count < 500} {incr count} {
+           set prev_insn_addr $insn_addr
+           set insn_addr ""
            gdb_test_multiple "x/i \$pc" "" {
                -re ".* ($hex) <.*>:\[ \t\]*(.*)\r\n$gdb_prompt $" {
-                   set prev_insn_addr $insn_addr
                    set insn_addr $expect_out(1,string)
+                   set insn_array($count) $expect_out(2,string)
+               }
+           }
 
-                   if [expr {$last_insn == $insn_addr}] {
-                       break
-                   }
+           if { $insn_addr == "" } {
+               break
+           }
 
-                   if { $prev_insn_addr == $insn_addr } {
-                       # Failed to make progress, might have run into SIGILL.
-                       unsupported "no progress at: $expect_out(2,string)"
-                       break
-                   }
+           if { $last_insn == $insn_addr } {
+               break
+           }
 
-                   set insn_array($count) $expect_out(2,string)
-               }
+           if { $prev_insn_addr == $insn_addr } {
+               # Failed to make progress, might have run into SIGILL.
+               unsupported "no progress at: $expect_out(2,string)"
+               break
            }
 
            set pre_regs($count) [capture_command_output "info all-registers" ""]
This page took 0.026433 seconds and 4 git commands to generate.