aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2021-07-27 16:56:23 +0200
committerTom de Vries <tdevries@suse.de>2021-07-27 16:56:23 +0200
commitf766f79a1f40a0b91fee711b83e204789398c6b6 (patch)
tree9b52365b0b79d83c4f563bcaa2107daec4481475
parentaf2b87e649bc50407ecc230929bed9b3df1f4d03 (diff)
downloadbinutils-f766f79a1f40a0b91fee711b83e204789398c6b6.zip
binutils-f766f79a1f40a0b91fee711b83e204789398c6b6.tar.gz
binutils-f766f79a1f40a0b91fee711b83e204789398c6b6.tar.bz2
[gdb/testsuite] Add xfail for PR gcc/101643
With gcc 8.5.0 I run into: ... (gdb) print bad^M $2 = (0 => 0 <repeats 25 times>)^M (gdb) FAIL: gdb.ada/big_packed_array.exp: scenario=minimal: print bad ... while with gcc 9.3.1 we have instead: ... (gdb) print bad^M $2 = (false <repeats 196 times>)^M (gdb) PASS: gdb.ada/big_packed_array.exp: scenario=minimal: print bad ... This is caused by gcc PR, which I've filed at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101643 "[debug, ada] packed array not described as packed". Fix by marking this as XFAIL. Tested on x86_64-linux. gdb/ChangeLog: 2021-07-27 Tom de Vries <tdevries@suse.de> PR testsuite/26904 * gdb/testsuite/gdb.ada/big_packed_array.exp: Add xfail.
-rw-r--r--gdb/testsuite/gdb.ada/big_packed_array.exp23
1 files changed, 21 insertions, 2 deletions
diff --git a/gdb/testsuite/gdb.ada/big_packed_array.exp b/gdb/testsuite/gdb.ada/big_packed_array.exp
index 95cd7eb..32ff0dd 100644
--- a/gdb/testsuite/gdb.ada/big_packed_array.exp
+++ b/gdb/testsuite/gdb.ada/big_packed_array.exp
@@ -19,6 +19,11 @@ if { [skip_ada_tests] } { return -1 }
standard_ada_testfile foo_ra24_010
+if [get_compiler_info] {
+ return -1
+}
+set old_gcc [expr [test_compiler_info {gcc-[0-8]-*}]]
+
foreach_with_prefix scenario {all minimal} {
set flags [list debug additional_flags=-fgnat-encodings=$scenario]
@@ -34,6 +39,20 @@ foreach_with_prefix scenario {all minimal} {
gdb_test "print good" \
"= \\(false <repeats 196 times>\\)" \
- gdb_test "print bad" \
- "= \\(false <repeats 196 times>\\)"
+ set have_xfail [expr $old_gcc && [string equal "$scenario" "minimal"]]
+
+ set re "= \\(false <repeats 196 times>\\)"
+ set re_xfail "= \\(0 => 0 <repeats 25 times>\\)"
+ gdb_test_multiple "print bad" "" {
+ -re -wrap $re {
+ pass $gdb_test_name
+ }
+ -re -wrap $re_xfail {
+ if { $have_xfail } {
+ # gcc/101643
+ setup_xfail *-*-*
+ }
+ fail $gdb_test_name
+ }
+ }
}