From: Tom de Vries Date: Wed, 6 May 2020 11:49:34 +0000 (+0200) Subject: [gdb/testsuite] Fix gdb.base/store.exp with gcc-10 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=abf6d805a0dfa792fdf232dabd7de18d2fe20834;p=binutils-gdb.git [gdb/testsuite] Fix gdb.base/store.exp with gcc-10 When running gdb.base/store.exp with gcc-10 instead of gcc-9, we have: ... (gdb) PASS: gdb.base/store.exp: continue to wack_double print l^M -$22 = ^M +$22 = -1^M -(gdb) UNSUPPORTED: gdb.base/store.exp: var double l; print old l, expecting -1 -(gdb) PASS: gdb.base/store.exp: var double l; print old l, expecting -1 +print r^M +$23 = ^M +(gdb) FAIL: gdb.base/store.exp: var double l; print old r, expecting -2 ... With gcc-9, there's no location info for both l and r, but with gcc-10, there's location info for l, but not r. The test-case only checks for location info availability of l, and then assumes location info for r is also available. Fix this by allowing missing location info for r. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2020-05-06 Tom de Vries * gdb.base/store.exp (check_set, up_set): Allowing missing location info for r. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index b2f90912502..7a62fe8ce77 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2020-05-06 Tom de Vries + + * gdb.base/store.exp (check_set, up_set): Allowing missing location + info for r. + 2020-05-06 Tom de Vries * gdb.base/shlib-call.exp: Add extra step to reach shmain.c:42, if diff --git a/gdb/testsuite/gdb.base/store.exp b/gdb/testsuite/gdb.base/store.exp index 4708662bff9..f3a6c061457 100644 --- a/gdb/testsuite/gdb.base/store.exp +++ b/gdb/testsuite/gdb.base/store.exp @@ -55,26 +55,37 @@ proc check_set { t l r new add } { } } - set supported 1 + set supported_l 1 set test "${prefix}; print old l, expecting ${l}" gdb_test_multiple "print l" "$test" { - -re " = \r\n$gdb_prompt $" { + -re -wrap " = " { unsupported $test - set supported 0 + set supported_l 0 } - -re " = ${l}\r\n$gdb_prompt $" { + -re -wrap " = ${l}" { pass $test } } - if { $supported } { - gdb_test "print r" " = ${r}" \ - "${prefix}; print old r, expecting ${r}" + + set test "${prefix}; print old r, expecting ${r}" + gdb_test_multiple "print r" "$test" { + -re -wrap " = " { + unsupported $test + } + -re -wrap " = ${r}" { + pass $test + } + } + + if { $supported_l } { gdb_test_no_output "set variable l = 4" \ "${prefix}; setting l to 4" gdb_test "print l" " = ${new}" \ "${prefix}; print new l, expecting ${new}" - gdb_test "next" "return l \\+ r;" \ - "${prefix}; next over add call" + } + gdb_test "next" "return l \\+ r;" \ + "${prefix}; next over add call" + if { $supported_l } { gdb_test "print l" " = ${add}" \ "${prefix}; print incremented l, expecting ${add}" } @@ -101,20 +112,29 @@ proc up_set { t l r new } { gdb_test "up" "l = add_${t} .l, r.;" \ "${prefix}; up" - set supported 1 + set supported_l 1 set test "${prefix}; print old l, expecting ${l}" gdb_test_multiple "print l" "$test" { - -re " = \r\n$gdb_prompt $" { + -re -wrap " = " { unsupported $test - set supported 0 + set supported_l 0 } - -re " = ${l}\r\n$gdb_prompt $" { + -re -wrap " = ${l}" { pass $test } } - if { $supported } { - gdb_test "print r" " = ${r}" \ - "${prefix}; print old r, expecting ${r}" + + set test "${prefix}; print old r, expecting ${r}" + gdb_test_multiple "print r" "$test" { + -re -wrap " = " { + unsupported $test + } + -re -wrap " = ${r}" { + pass $test + } + } + + if { $supported_l } { gdb_test_no_output "set variable l = 4" \ "${prefix}; set l to 4" gdb_test "print l" " = ${new}" \