Browse Source

[gdb/testsuite] Fix XPASS with gcc-12 in gdb.base/vla-struct-fields.exp

With gcc-12, I get for test-case gdb.base/vla-struct-fields.exp:
...
(gdb) print inner_vla_struct_object_size == sizeof(inner_vla_struct_object)^M
$7 = 1^M
(gdb) XPASS: gdb.base/vla-struct-fields.exp: size of inner_vla_struct_object
...

Fix this by limiting the xfailing to gcc-11 and earlier.  Also, limit the
xfailing to the equality test.

Tested on x86_64-linux.
binutils-2_39-branch
Tom de Vries 4 years ago
parent
commit
6a72edd8e2
  1. 22
      gdb/testsuite/gdb.base/vla-struct-fields.exp

22
gdb/testsuite/gdb.base/vla-struct-fields.exp

@ -60,8 +60,20 @@ gdb_test "print vla_struct_object_size == sizeof(vla_struct_object)" \
gdb_test "print vla_union_object_size == sizeof(vla_union_object)" \
" = 1" "size of vla_union_object"
# Fails due to incorrect debugging information generated by GCC.
setup_xfail "*-*-*"
gdb_test \
"print inner_vla_struct_object_size == sizeof(inner_vla_struct_object)" \
" = 1" "size of inner_vla_struct_object"
set a -1
gdb_test_multiple "print inner_vla_struct_object_size" "" {
-re -wrap " = ($decimal)" {
set a $expect_out(1,string)
}
}
set b -1
gdb_test_multiple "print sizeof(inner_vla_struct_object)" "" {
-re -wrap " = ($decimal)" {
set b $expect_out(1,string)
}
}
if { [test_compiler_info "gcc-*"] && [gcc_major_version] <= 11 } {
# Fails due to incorrect debugging information generated by GCC.
setup_xfail "*-*-*"
}
gdb_assert {$a == $b} "size of inner_vla_struct_object"

Loading…
Cancel
Save