binutils-gdb/gdb/testsuite/gdb.disasm/t13_otr.exp
Andrew Burgess 6ca2ea063a gdb/testsuite: remove use of then keyword from gdb.disasm/*.exp
The canonical form of 'if' in modern TCL is 'if {} {}'.  But there's
still a bunch of places in the testsuite where we make use of the
'then' keyword, and sometimes these get copies into new tests, which
just spreads poor practice.

This commit removes all use of the 'then' keyword from the gdb.disasm/
test script directory.

There should be no changes in what is tested after this commit.
2022-11-28 21:04:09 +00:00

299 lines
9.1 KiB
Plaintext

# Copyright (C) 2003-2022 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 was written by Michael Snyder (msnyder@redhat.com)
if ![istarget "h8300*-*-*"] {
verbose "Tests ignored for all but h8300s based targets."
return
}
set testfile "t13_otr"
set srcfile ${srcdir}/${subdir}/${testfile}.s
set objfile ${objdir}/${subdir}/${testfile}.o
set binfile ${objdir}/${subdir}/${testfile}.x
set asm-flags ""
set link-flags "-m h8300sxelf"
if {[target_assemble $srcfile $objfile "${asm-flags}"] != ""} {
untested "failed to assemble"
return -1
}
if {[target_link $objfile $binfile "${link-flags}"] != ""} {
untested "failed to link"
return -1
}
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load $binfile
global hex
gdb_test "x /i start" "bra\t.\\+18 \\($hex\\)" \
"bra .+18"
gdb_test "x" "brn\t.\\+18 \\($hex\\)" \
"brn .+18"
gdb_test "x" "bhi\t.\\+18 \\($hex\\)" \
"bhi .+18"
gdb_test "x" "bls\t.\\+18 \\($hex\\)" \
"bls .+18"
gdb_test "x" "bcc\t.\\+18 \\($hex\\)" \
"bcc .+18"
gdb_test "x" "bcs\t.\\+18 \\($hex\\)" \
"bcs .+18"
gdb_test "x" "bne\t.\\+18 \\($hex\\)" \
"bne .+18"
gdb_test "x" "beq\t.\\+18 \\($hex\\)" \
"beq .+18"
gdb_test "x" "bvc\t.\\+18 \\($hex\\)" \
"bvc .+18"
gdb_test "x" "bvs\t.\\+18 \\($hex\\)" \
"bvs .+18"
gdb_test "x" "bpl\t.\\+18 \\($hex\\)" \
"bpl .+18"
gdb_test "x" "bmi\t.\\+18 \\($hex\\)" \
"bmi .+18"
gdb_test "x" "bge\t.\\+18 \\($hex\\)" \
"bge .+18"
gdb_test "x" "blt\t.\\+18 \\($hex\\)" \
"blt .+18"
gdb_test "x" "bgt\t.\\+18 \\($hex\\)" \
"bgt .+18"
gdb_test "x" "ble\t.\\+18 \\($hex\\)" \
"ble .+18"
gdb_test "x" "bra\t.\\+4660 \\($hex\\)" \
"bra .+4660"
gdb_test "x" "brn\t.\\+4660 \\($hex\\)" \
"brn .+4660"
gdb_test "x" "bhi\t.\\+4660 \\($hex\\)" \
"bhi .+4660"
gdb_test "x" "bls\t.\\+4660 \\($hex\\)" \
"bls .+4660"
gdb_test "x" "bcc\t.\\+4660 \\($hex\\)" \
"bcc .+4660"
gdb_test "x" "bcs\t.\\+4660 \\($hex\\)" \
"bcs .+4660"
gdb_test "x" "bne\t.\\+4660 \\($hex\\)" \
"bne .+4660"
gdb_test "x" "beq\t.\\+4660 \\($hex\\)" \
"beq .+4660"
gdb_test "x" "bvc\t.\\+4660 \\($hex\\)" \
"bvc .+4660"
gdb_test "x" "bvs\t.\\+4660 \\($hex\\)" \
"bvs .+4660"
gdb_test "x" "bpl\t.\\+4660 \\($hex\\)" \
"bpl .+4660"
gdb_test "x" "bmi\t.\\+4660 \\($hex\\)" \
"bmi .+4660"
gdb_test "x" "bge\t.\\+4660 \\($hex\\)" \
"bge .+4660"
gdb_test "x" "blt\t.\\+4660 \\($hex\\)" \
"blt .+4660"
gdb_test "x" "bgt\t.\\+4660 \\($hex\\)" \
"bgt .+4660"
gdb_test "x" "ble\t.\\+4660 \\($hex\\)" \
"ble .+4660"
gdb_test "x" "bra/s\t.\\+18 \\($hex\\)" \
"bra/s .+18"
gdb_test "x" "nop\[ \t\]*" \
"nop"
gdb_test "x" "bra/bc\t#0x7,@er2,.\\+18 \\($hex\\)" \
"bra/bc #0x7,@er2,.+18"
gdb_test "x" "bra/bc\t#0x7,@0x9a(:8|),.\\+18 \\($hex\\)" \
"bra/bc #0x7,@0x9a:8,.+18"
gdb_test "x" "bra/bc\t#0x7,@0x1234(:16|),.\\+18 \\($hex\\)" \
"bra/bc #0x7,@0x1234:16,.+18"
gdb_test "x" "bra/bc\t#0x7,@0x12345678(:32|),.\\+18 \\($hex\\)" \
"bra/bc #0x7,@0x12345678:32,.+18"
gdb_test "x" "bra/bc\t#0x7,@er2,.\\+4660 \\($hex\\)" \
"bra/bc #0x7,@er2,.+4660"
gdb_test "x" "bra/bc\t#0x7,@0x12(:8|),.\\+4660 \\($hex\\)" \
"bra/bc #0x7,@0x12:8,.+4660"
gdb_test "x" "bra/bc\t#0x7,@0x9abc(:16|),.\\+4660 \\($hex\\)" \
"bra/bc #0x7,@0x9abc:16,.+4660"
gdb_test "x" "bra/bc\t#0x7,@0x12345678(:32|),.\\+4660 \\($hex\\)" \
"bra/bc #0x7,@0x12345678:32,.+4660"
gdb_test "x" "bra/bs\t#0x7,@er2,.\\+18 \\($hex\\)" \
"bra/bs #0x7,@er2,.+18"
gdb_test "x" "bra/bs\t#0x7,@0x9a(:8|),.\\+18 \\($hex\\)" \
"bra/bs #0x7,@0x9a:8,.+18"
gdb_test "x" "bra/bs\t#0x7,@0x1234(:16|),.\\+18 \\($hex\\)" \
"bra/bs #0x7,@0x1234:16,.+18"
gdb_test "x" "bra/bs\t#0x7,@0x12345678(:32|),.\\+18 \\($hex\\)" \
"bra/bs #0x7,@0x12345678:32,.+18"
gdb_test "x" "bra/bs\t#0x7,@er2,.\\+4660 \\($hex\\)" \
"bra/bs #0x7,@er2,.+4660"
gdb_test "x" "bra/bs\t#0x7,@0x12(:8|),.\\+4660 \\($hex\\)" \
"bra/bs #0x7,@0x12:8,.+4660"
gdb_test "x" "bra/bs\t#0x7,@0x9abc(:16|),.\\+4660 \\($hex\\)" \
"bra/bs #0x7,@0x9abc:16,.+4660"
gdb_test "x" "bra/bs\t#0x7,@0x12345678(:32|),.\\+4660 \\($hex\\)" \
"bra/bs #0x7,@0x12345678:32,.+4660"
gdb_test "x" "bsr/bc\t#0x7,@er2,.\\+4660 \\($hex\\)" \
"bsr/bc #0x7,@er2,.+4660"
gdb_test "x" "bsr/bc\t#0x7,@0x12(:8|),.\\+4660 \\($hex\\)" \
"bsr/bc #0x7,@0x12:8,.+4660"
gdb_test "x" "bsr/bc\t#0x7,@0x9abc(:16|),.\\+4660 \\($hex\\)" \
"bsr/bc #0x7,@0x9abc:16,.+4660"
gdb_test "x" "bsr/bc\t#0x7,@0x12345678(:32|),.\\+4660 \\($hex\\)" \
"bsr/bc #0x7,@0x12345678:32,.+4660"
gdb_test "x" "bsr/bs\t#0x7,@er2,.\\+4660 \\($hex\\)" \
"bsr/bs #0x7,@er2,.+4660"
gdb_test "x" "bsr/bs\t#0x7,@0x12(:8|),.\\+4660 \\($hex\\)" \
"bsr/bs #0x7,@0x12:8,.+4660"
gdb_test "x" "bsr/bs\t#0x7,@0x9abc(:16|),.\\+4660 \\($hex\\)" \
"bsr/bs #0x7,@0x9abc:16,.+4660"
gdb_test "x" "bsr/bs\t#0x7,@0x12345678(:32|),.\\+4660 \\($hex\\)" \
"bsr/bs #0x7,@0x12345678:32,.+4660"
gdb_test "x" "bra\tr2l.b" \
"bra r2l.b"
gdb_test "x" "bra\tr2.w" \
"bra r2.w"
gdb_test "x" "bra\ter2(.l|)" \
"bra er2.l"
gdb_test "x" "bsr\t.\\+18 \\($hex\\)" \
"bsr .+18"
gdb_test "x" "bsr\t.\\+4660 \\($hex\\)" \
"bsr .+4660"
gdb_test "x" "bsr\tr2l.b" \
"bsr r2l.b"
gdb_test "x" "bsr\tr2.w" \
"bsr r2.w"
gdb_test "x" "bsr\ter2(.l|)" \
"bsr er2.l"
gdb_test "x" "jmp\t@er2" \
"jmp @er2"
gdb_test "x" "jmp\t@0x123456(:24|)" \
"jmp @0x123456:24"
gdb_test "x" "jmp\t@0x12345678(:32|)" \
"jmp @0x12345678:32"
gdb_test "x" "jmp\t@@18 \\(0x12\\)" \
"jmp @@18 (0x12)"
gdb_test "x" "jmp\t@@564 \\(0x234\\)" \
"jmp @@564 (0x234)"
gdb_test "x" "jsr\t@er2" \
"jsr @er2"
gdb_test "x" "jsr\t@0x123456(:24|)" \
"jsr @0x123456:24"
gdb_test "x" "jsr\t@0x12345678(:32|)" \
"jsr @0x12345678:32"
gdb_test "x" "jsr\t@@18 \\(0x12\\)" \
"jsr @@18 (0x12)"
gdb_test "x" "jsr\t@@564 \\(0x234\\)" \
"jsr @@564 (0x234)"
gdb_test "x" "rts\[ \t\]*" \
"rts"
gdb_test "x" "rts/l\ter3" \
"rts/l er3"
gdb_test "x" "rts/l\ter1-er2" \
"rts/l er1-er2"
gdb_test "x" "rts/l\ter2-er4" \
"rts/l er2-er4"
gdb_test "x" "rts/l\ter3-er6" \
"rts/l er3-er6"
gdb_test "x" "trapa\t#0x3" \
"trapa #0x3"
gdb_test "x" "rte\[ \t\]*" \
"rte"
gdb_test "x" "rte/l\ter3" \
"rte/l er3"
gdb_test "x" "rte/l\ter1-er2" \
"rte/l er1-er2"
gdb_test "x" "rte/l\ter2-er4" \
"rte/l er2-er4"
gdb_test "x" "rte/l\ter3-er6" \
"rte/l er3-er6"
gdb_test "x" "ldc(.b|)\t#0x12(:8|),ccr" \
"ldc.b #0x12:8,ccr"
gdb_test "x" "ldc(.b|)\tr3h,ccr" \
"ldc.b r3h,ccr"
gdb_test "x" "ldc(.w|)\t@er3,ccr" \
"ldc.w @er3,ccr"
gdb_test "x" "ldc(.w|)\t@er3\\+,ccr" \
"ldc.w @er3+,ccr"
gdb_test "x" "ldc(.w|)\t@\\(0x1234(:16|),er3\\),ccr" \
"ldc.w @(0x1234:16,er3),ccr"
gdb_test "x" "ldc(.w|)\t@\\(0x12345678(:32|),er3\\),ccr" \
"ldc.w @(0x12345678:32,er3),ccr"
gdb_test "x" "ldc(.w|)\t@0x1234(:16|),ccr" \
"ldc.w @0x1234:16,ccr"
gdb_test "x" "ldc(.w|)\t@0x12345678(:32|),ccr" \
"ldc.w @0x12345678:32,ccr"
gdb_test "x" "ldc(.b|)\t#0x12(:8|),exr" \
"ldc.b #0x12:8,exr"
gdb_test "x" "ldc(.b|)\tr3h,exr" \
"ldc.b r3h,exr"
gdb_test "x" "ldc(.w|)\t@er3,exr" \
"ldc.w @er3,exr"
gdb_test "x" "ldc(.w|)\t@er3\\+,exr" \
"ldc.w @er3+,exr"
gdb_test "x" "ldc(.w|)\t@\\(0x1234(:16|),er3\\),exr" \
"ldc.w @(0x1234:16,er3),exr"
gdb_test "x" "ldc(.w|)\t@\\(0x12345678(:32|),er3\\),exr" \
"ldc.w @(0x12345678:32,er3),exr"
gdb_test "x" "ldc(.w|)\t@0x1234(:16|),exr" \
"ldc.w @0x1234:16,exr"
gdb_test "x" "ldc(.w|)\t@0x12345678(:32|),exr" \
"ldc.w @0x12345678:32,exr"
gdb_test "x" "stc(.b|)\tccr,r1h" \
"stc.b ccr,r1h"
gdb_test "x" "stc(.w|)\tccr,@er1" \
"stc.w ccr,@er1"
gdb_test "x" "stc(.w|)\tccr,@-er1" \
"stc.w ccr,@-er1"
gdb_test "x" "stc(.w|)\tccr,@\\(0x1234(:16|),er1\\)" \
"stc.w ccr,@(0x1234:16,er1)"
gdb_test "x" "stc(.w|)\tccr,@\\(0x12345678(:32|),er1\\)" \
"stc.w ccr,@(0x12345678:32,er1)"
gdb_test "x" "stc(.w|)\tccr,@0x1234(:16|)" \
"stc.w ccr,@0x1234:16"
gdb_test "x" "stc(.w|)\tccr,@0x12345678(:32|)" \
"stc.w ccr,@0x12345678:32"
gdb_test "x" "stc(.b|)\texr,r1h" \
"stc.b exr,r1h"
gdb_test "x" "stc(.w|)\texr,@er1" \
"stc.w exr,@er1"
gdb_test "x" "stc(.w|)\texr,@-er1" \
"stc.w exr,@-er1"
gdb_test "x" "stc(.w|)\texr,@\\(0x1234(:16|),er1\\)" \
"stc.w exr,@(0x1234:16,er1)"
gdb_test "x" "stc(.w|)\texr,@\\(0x12345678(:32|),er1\\)" \
"stc.w exr,@(0x12345678:32,er1)"
gdb_test "x" "stc(.w|)\texr,@0x1234(:16|)" \
"stc.w exr,@0x1234:16"
gdb_test "x" "stc(.w|)\texr,@0x12345678(:32|)" \
"stc.w exr,@0x12345678:32"
gdb_test "x" "orc(.b|)\t#0x12(:8|),ccr" \
"orc.b #0x12:8,ccr"
gdb_test "x" "orc(.b|)\t#0x12(:8|),exr" \
"orc.b #0x12:8,exr"
gdb_test "x" "xorc(.b|)\t#0x12(:8|),ccr" \
"xorc.b #0x12:8,ccr"
gdb_test "x" "xorc(.b|)\t#0x12(:8|),exr" \
"xorc.b #0x12:8,exr"
gdb_test "x" "andc(.b|)\t#0x12(:8|),ccr" \
"andc.b #0x12:8,ccr"
gdb_test "x" "andc(.b|)\t#0x12(:8|),exr" \
"andc.b #0x12:8,exr"
gdb_test "x" "sleep\[ \t\]*" \
"sleep"
gdb_test "x" "nop\[ \t\]*" \
"nop"