diff --git a/gdb/testsuite/gdb.ada/big_packed_array.exp b/gdb/testsuite/gdb.ada/big_packed_array.exp index 32ff0dd3e1c..e62f053166b 100644 --- a/gdb/testsuite/gdb.ada/big_packed_array.exp +++ b/gdb/testsuite/gdb.ada/big_packed_array.exp @@ -43,6 +43,7 @@ foreach_with_prefix scenario {all minimal} { set re "= \\(false \\)" set re_xfail "= \\(0 => 0 \\)" + set re_xfail2 "= \\(0 => 0 , ($decimal)\\)" gdb_test_multiple "print bad" "" { -re -wrap $re { pass $gdb_test_name @@ -54,5 +55,14 @@ foreach_with_prefix scenario {all minimal} { } fail $gdb_test_name } + -re -wrap $re_xfail2 { + set last $expect_out(1,string) + if { $have_xfail && [string is integer $last] \ + && [expr ($last & 0xf) == 0] } { + # gcc/101643 + setup_xfail *-*-* + } + fail $gdb_test_name + } } }