[committed][gdb/testsuite] Fix gdb.base/store.exp with gcc-10
Tom de Vries
tdevries@suse.de
Wed May 6 11:50:05 GMT 2020
Hi,
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 = <optimized out>^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 = <optimized out>^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.
Committed to trunk.
Thanks,
- Tom
[gdb/testsuite] Fix gdb.base/store.exp with gcc-10
gdb/testsuite/ChangeLog:
2020-05-06 Tom de Vries <tdevries@suse.de>
* gdb.base/store.exp (check_set, up_set): Allowing missing location
info for r.
---
gdb/testsuite/gdb.base/store.exp | 52 +++++++++++++++++++++++++++-------------
1 file changed, 36 insertions(+), 16 deletions(-)
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 " = <optimized out>\r\n$gdb_prompt $" {
+ -re -wrap " = <optimized out>" {
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 " = <optimized out>" {
+ 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 " = <optimized out>\r\n$gdb_prompt $" {
+ -re -wrap " = <optimized out>" {
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 " = <optimized out>" {
+ 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}" \
More information about the Gdb-patches
mailing list