From f766f79a1f40a0b91fee711b83e204789398c6b6 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Tue, 27 Jul 2021 16:56:23 +0200 Subject: [PATCH] [gdb/testsuite] Add xfail for PR gcc/101643 With gcc 8.5.0 I run into: ... (gdb) print bad^M $2 = (0 => 0 )^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 )^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 PR testsuite/26904 * gdb/testsuite/gdb.ada/big_packed_array.exp: Add xfail. --- gdb/testsuite/gdb.ada/big_packed_array.exp | 23 ++++++++++++++++++++-- 1 file 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 95cd7ebcc1d..32ff0dd3e1c 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 \\)" \ - gdb_test "print bad" \ - "= \\(false \\)" + set have_xfail [expr $old_gcc && [string equal "$scenario" "minimal"]] + + set re "= \\(false \\)" + set re_xfail "= \\(0 => 0 \\)" + 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 + } + } } -- 2.30.2