From e3696f67abfc46dcac6c9bbe47f8e25e34b17be5 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 27 Jan 2020 10:51:52 +1030 Subject: [PATCH] Replace deprecated tcl case statements with switch statements binutils/ * testsuite/lib/binutils-common.exp (big_or_little_endian): Replace case statement with switch statement. gas/ * testsuite/gas/all/gas.exp: Replace case statements with switch statements. * testsuite/gas/elf/elf.exp: Likewise. * testsuite/gas/macros/macros.exp: Likewise. * testsuite/lib/gas-defs.exp: Likewise. ld/ * testsuite/ld-elfvers/vers.exp: Replace case statements with switch statements. * testsuite/ld-ifunc/ifunc.exp: Likewise. * testsuite/ld-unique/unique.exp: Likewise. --- binutils/ChangeLog | 5 + binutils/testsuite/lib/binutils-common.exp | 18 ++- gas/ChangeLog | 8 ++ gas/testsuite/gas/all/gas.exp | 122 ++++++++++----------- gas/testsuite/gas/elf/elf.exp | 62 ++++++----- gas/testsuite/gas/macros/macros.exp | 24 ++-- gas/testsuite/lib/gas-defs.exp | 2 +- ld/ChangeLog | 7 ++ ld/testsuite/ld-elfvers/vers.exp | 6 +- ld/testsuite/ld-ifunc/ifunc.exp | 4 +- ld/testsuite/ld-unique/unique.exp | 4 +- 11 files changed, 148 insertions(+), 114 deletions(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 2e310851fae..74bf211681b 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2020-01-27 Alan Modra + + * testsuite/lib/binutils-common.exp (big_or_little_endian): Replace + case statement with switch statement. + 2020-01-24 Nick Clifton * readelf.c (get_build_id): Fix warning messages about corrupt diff --git a/binutils/testsuite/lib/binutils-common.exp b/binutils/testsuite/lib/binutils-common.exp index d5951e62f2c..a253c01a5ca 100644 --- a/binutils/testsuite/lib/binutils-common.exp +++ b/binutils/testsuite/lib/binutils-common.exp @@ -1399,12 +1399,24 @@ proc big_or_little_endian {} { set tmp_flags " [board_info [target_info name] multilib_flags]" foreach x $tmp_flags { - case $x in { - {*big*endian eb EB -eb -EB -mb -meb} { + switch -glob $x { + *big*endian - + eb - + EB - + -eb - + -EB - + -mb - + -meb { set flags " -EB" return $flags } - {*little*endian el EL -el -EL -ml -mel} { + *little*endian - + el - + EL - + -el - + -EL - + -ml - + -mel { set flags " -EL" return $flags } diff --git a/gas/ChangeLog b/gas/ChangeLog index 5d149df14b7..6c182f59e19 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,11 @@ +2020-01-27 Alan Modra + + * testsuite/gas/all/gas.exp: Replace case statements with switch + statements. + * testsuite/gas/elf/elf.exp: Likewise. + * testsuite/gas/macros/macros.exp: Likewise. + * testsuite/lib/gas-defs.exp: Likewise. + 2020-01-27 Tamar Christina PR 25403 diff --git a/gas/testsuite/gas/all/gas.exp b/gas/testsuite/gas/all/gas.exp index 78cd3eb3ea9..d4140537827 100644 --- a/gas/testsuite/gas/all/gas.exp +++ b/gas/testsuite/gas/all/gas.exp @@ -80,9 +80,9 @@ if { ![ishost "*-*-mingw*"] } then { } # .equ works differently on some targets. -case $target_triplet in { - { hppa*-*-* } { } - { *c54x*-*-* } { } +switch -glob $target_triplet { + hppa*-*-* { } + *c54x*-*-* { } default { gas_test "equ-ok.s" "" "" ".equ for symbol already set" gas_test_error "equ-bad.s" "" ".equ for symbol already set through .eqv" @@ -106,19 +106,19 @@ run_dump_test forward # mmix doesn't like .L1: # ti addresses aren't octets. if { ![is_aout_format] } { - case $target_triplet in { - { hppa*64*-*-* } { + switch -glob $target_triplet { + hppa*64*-*-* { run_dump_test fwdexp } - { alpha-*-*linux*ecoff } { } - { alpha-*-osf* } { } - { hppa*-*-hpux* } { } - { mep-*-* } { } - { mmix-*-* } { } - { nds32*-*-* } { } - { tic30*-*-* } { } - { tic4x*-*-* } { } - { tic54x*-*-* } { } + alpha-*-*linux*ecoff { } + alpha-*-osf* { } + hppa*-*-hpux* { } + mep-*-* { } + mmix-*-* { } + nds32*-*-* { } + tic30*-*-* { } + tic4x*-*-* { } + tic54x*-*-* { } default { run_dump_test fwdexp } @@ -129,23 +129,23 @@ if { ![is_aout_format] } { # most of the tests won't work on targets that set linkrelax. # 4 octet bytes confuse address matching on ti targets. # pdp11 gets unexpected reloc types. -case $target_triplet in { - { alpha*-*-* } { } - { am3*-*-* } { } - { cr16*-*-* } { } - { crx*-*-* } { } - { h8300-*-* } { } - { mips*-*-* } { } - { mn10200-*-* } { } - { mn10300-*-* } { } - { msp430*-*-* } { } - { nds32*-*-* } { } - { pdp11-*-* } { } - { tic30*-*-* } { } - { tic4x*-*-* } { } - { tic54x*-*-* } { } - { xtensa*-*-* } { } - { z80-*-* } { } +switch -glob $target_triplet { + alpha*-*-* { } + am3*-*-* { } + cr16*-*-* { } + crx*-*-* { } + h8300-*-* { } + mips*-*-* { } + mn10200-*-* { } + mn10300-*-* { } + msp430*-*-* { } + nds32*-*-* { } + pdp11-*-* { } + tic30*-*-* { } + tic4x*-*-* { } + tic54x*-*-* { } + xtensa*-*-* { } + z80-*-* { } default { run_dump_test redef # These targets fail redef2 because they disallow redefined @@ -269,10 +269,10 @@ if { ![istarget *c30*-*-*] # ".struct" and ".align" have different meanings on c54x # These directives are done in the c54x-specific tests instead -case $target_triplet in { - { hppa*-*-* } { } - { *c4x*-*-* } { } - { *c54x*-*-* } { } +switch -glob $target_triplet { + hppa*-*-* { } + *c4x*-*-* { } + *c54x*-*-* { } default { run_dump_test struct run_dump_test align @@ -281,14 +281,14 @@ case $target_triplet in { } # '<' and '>' appear to have special meanings on the excluded targets -case $target_triplet in { - { frv-*-* } { } - { hppa*-*-* } { } - { m32r-*-* } { } - { mmix-*-* } { } - { *c4x*-*-* } { } - { *c54x*-*-* } { } - { bfin-*-* } { } +switch -glob $target_triplet { + frv-*-* { } + hppa*-*-* { } + m32r-*-* { } + mmix-*-* { } + *c4x*-*-* { } + *c54x*-*-* { } + bfin-*-* { } default { run_dump_test altmacro # The second test is valid only when '!' is not a comment @@ -342,14 +342,14 @@ proc test_cond {} { # not limited to the fact that it depends on specific section # names appearing in the output file. # Again, p2align doesn't work on c54x and related targets. -case $target_triplet in { - { alpha-*-linux*ecoff} { } - { alpha-*-osf*} { } - { hppa*-*-* } { } - { *c4x*-*-* } { } - { *c54x*-*-* } { } - { rl78-*-* } { } - { rx-*-* } { } +switch -glob $target_triplet { + alpha-*-linux*ecoff { } + alpha-*-osf* { } + hppa*-*-* { } + *c4x*-*-* { } + *c54x*-*-* { } + rl78-*-* { } + rx-*-* { } default { test_cond remote_download host "$srcdir/$subdir/incbin.dat" @@ -394,11 +394,11 @@ run_dump_test quad run_dump_test octa # .set works differently on some targets. -case $target_triplet in { - { alpha*-*-* } { } - { mips*-*-* } { } - { *c54x*-*-* } { } - { z80-*-* } { } +switch -glob $target_triplet { + alpha*-*-* { } + mips*-*-* { } + *c54x*-*-* { } + z80-*-* { } default { run_dump_test weakref1 run_dump_test weakref1g @@ -426,17 +426,17 @@ dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/err-*.s $srcdir/$subdir/warn dg-finish # Set $nop_type appropriately to indicate the NOP instruction mnemonic. -case $target_triplet in { - { "bpf-*-*" } { +switch -glob $target_triplet { + bpf-*-* { set nop_type 6 } - { "mmix-*-*" } { + mmix-*-* { set nop_type 5 } - { "or1k*-*-*" } { + or1k*-*-* { set nop_type 2 } - { "ia64-*-*" } { + ia64-*-* { set nop_type 1 } default { diff --git a/gas/testsuite/gas/elf/elf.exp b/gas/testsuite/gas/elf/elf.exp index 746ff7eea0d..5a298fe5832 100644 --- a/gas/testsuite/gas/elf/elf.exp +++ b/gas/testsuite/gas/elf/elf.exp @@ -112,14 +112,15 @@ if { [is_elf_format] } then { && ![istarget "am3*-*-*"]} then { run_dump_test "ehopt0" } - case $target_triplet in { - { m68k-*-* m68[03]??-*-* } { + switch -glob $target_triplet { + m68k-*-* - + m68[03]??-*-* { run_dump_test "file" { { as "--defsym m68k=1" } } } - { mmix-*-* } { + mmix-*-* { run_dump_test "file" { { as "--defsym mmix=1" } } } - { xtensa*-*-* } { + xtensa*-*-* { run_dump_test "file" { { as "--rename-section file.s=file.c" } } } default { @@ -135,37 +136,37 @@ if { [is_elf_format] } then { run_dump_test "group1b" run_dump_test "group2" run_dump_test "group3" - case $target_triplet in { - { hppa64*-*-hpux* } { } - { riscv*-*-* } { } + switch -glob $target_triplet { + hppa64*-*-hpux* { } + riscv*-*-* { } default { run_dump_test "groupautoa" } } - case $target_triplet in { - { hppa64*-*-hpux* } { } - { riscv*-*-* } { } - { xtensa*-*-* } { } + switch -glob $target_triplet { + hppa64*-*-hpux* { } + riscv*-*-* { } + xtensa*-*-* { } default { run_dump_test "groupautob" } } - case $target_triplet in { - { alpha*-*-* } { } - { am3*-*-* } { } - { *c54x*-*-* } { } - { cr16*-*-* } { } - { crx*-*-* } { } - { h8300-*-* } { } - { hppa*-*-* } { } - { iq2000*-*-* } { } - { mips*-*-* } { } - { mn10200-*-* } { } - { mn10300-*-* } { } - { msp43*-*-* } { } - { rl78-*-* } { } - { riscv*-*-* } { } - { rx-*-* } { } + switch -glob $target_triplet { + alpha*-*-* { } + am3*-*-* { } + *c54x*-*-* { } + cr16*-*-* { } + crx*-*-* { } + h8300-*-* { } + hppa*-*-* { } + iq2000*-*-* { } + mips*-*-* { } + mn10200-*-* { } + mn10300-*-* { } + msp43*-*-* { } + rl78-*-* { } + riscv*-*-* { } + rx-*-* { } default { # The next test can fail if the target does not convert fixups # against ordinary symbols into relocations against section symbols. @@ -183,11 +184,12 @@ if { [is_elf_format] } then { # new sections created without atrributes. if {! [istarget "h8300-*-*"]} then { set as_flags "-al --generate-missing-build-notes=no" - case $target_triplet in { - { i*86-*-* x86_64-*-* } { + switch -glob $target_triplet { + i*86-*-* - + x86_64-*-* { set as_flags "$as_flags -mx86-used-note=no" } - { riscv*-*-* } { + riscv*-*-* { set as_flags "$as_flags -march-attr" } } diff --git a/gas/testsuite/gas/macros/macros.exp b/gas/testsuite/gas/macros/macros.exp index a5df0d3ae3d..7beaf48cf71 100644 --- a/gas/testsuite/gas/macros/macros.exp +++ b/gas/testsuite/gas/macros/macros.exp @@ -42,10 +42,10 @@ gas_test_error "err.s" "" "macro infinite recursion" setup_xfail "tic4x*-*" gas_test "and.s" "" "" "logical and in macro definition" -case $target_triplet in { - { hppa*-*-* } { if [istarget *-*-linux*] { run_dump_test semi } } - { *c4x*-*-* } { } - { *c54x*-*-* } { } +switch -glob $target_triplet { + hppa*-*-* { if [istarget *-*-linux*] { run_dump_test semi } } + *c4x*-*-* { } + *c54x*-*-* { } default { run_dump_test semi } @@ -74,14 +74,14 @@ run_dump_test app4 run_list_test badarg "" -case $target_triplet in { - { *c54x*-*-* } { } - { *c4x*-*-* } { } - { mmix-* } { } - { ns32k-*-* } { } - { rl78-*-* } { } - { rx-*-* } { } - { vax-*-* } { } +switch -glob $target_triplet { + *c54x*-*-* { } + *c4x*-*-* { } + mmix-* { } + ns32k-*-* { } + rl78-*-* { } + rx-*-* { } + vax-*-* { } default { run_list_test dot "-alm" } } run_list_test end "" diff --git a/gas/testsuite/lib/gas-defs.exp b/gas/testsuite/lib/gas-defs.exp index c17262c56a6..6649eaa3762 100644 --- a/gas/testsuite/lib/gas-defs.exp +++ b/gas/testsuite/lib/gas-defs.exp @@ -267,7 +267,7 @@ proc gas_init { args } { global target_os global stdoptlist - case "$target_cpu" in { + switch -glob "$target_cpu" { "m68???" { set target_cpu_family m68k } "i[3-7]86" { set target_cpu_family i386 } default { set target_cpu_family $target_cpu } diff --git a/ld/ChangeLog b/ld/ChangeLog index b39c8c09b21..fe87678b85d 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2020-01-27 Alan Modra + + * testsuite/ld-elfvers/vers.exp: Replace case statements with + switch statements. + * testsuite/ld-ifunc/ifunc.exp: Likewise. + * testsuite/ld-unique/unique.exp: Likewise. + 2020-01-27 H.J. Lu Alan Modra diff --git a/ld/testsuite/ld-elfvers/vers.exp b/ld/testsuite/ld-elfvers/vers.exp index e0ece081d5e..6ab1e75db6a 100644 --- a/ld/testsuite/ld-elfvers/vers.exp +++ b/ld/testsuite/ld-elfvers/vers.exp @@ -92,9 +92,9 @@ if { [istarget mips*-*-*] && ! [at_least_gcc_version 4 3] } then { } } -case $target_triplet in { - { ia64-*-* } { set as_options "-x" } - { sparc-*-* } { set as_options "-Av9a" } +switch -glob $target_triplet { + ia64-*-* { set as_options "-x" } + sparc-*-* { set as_options "-Av9a" } default { set as_options "" } } diff --git a/ld/testsuite/ld-ifunc/ifunc.exp b/ld/testsuite/ld-ifunc/ifunc.exp index 3ef32242d57..4e9e83bbc38 100644 --- a/ld/testsuite/ld-ifunc/ifunc.exp +++ b/ld/testsuite/ld-ifunc/ifunc.exp @@ -268,8 +268,8 @@ if { $fails == 0 } { # ifunc should have an OSABI field of GNU. The linked non-ifunc using # executable should have an OSABI field of NONE (aka System V). -case $target_triplet in { - { hppa*-*-linux* } { set expected_none {UNIX - GNU} } +switch -glob $target_triplet { + hppa*-*-linux* { set expected_none {UNIX - GNU} } default { set expected_none {UNIX - System V} } } diff --git a/ld/testsuite/ld-unique/unique.exp b/ld/testsuite/ld-unique/unique.exp index f9dd870b9a7..5457deb4ece 100644 --- a/ld/testsuite/ld-unique/unique.exp +++ b/ld/testsuite/ld-unique/unique.exp @@ -163,8 +163,8 @@ if { $fails == 0 } { } # Check the empty object file. -case $target_triplet in { - { hppa*-*-linux* } { set expected_none {UNIX - GNU} } +switch -glob $target_triplet { + hppa*-*-linux* { set expected_none {UNIX - GNU} } default { set expected_none {UNIX - System V} } } if {! [check_osabi tmpdir/unique_empty.o $expected_none]} { -- 2.39.2