mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-26 22:07:58 +08:00
[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.
This commit is contained in:
@ -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"
|
||||
|
||||
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_test \
|
||||
"print inner_vla_struct_object_size == sizeof(inner_vla_struct_object)" \
|
||||
" = 1" "size of inner_vla_struct_object"
|
||||
}
|
||||
gdb_assert {$a == $b} "size of inner_vla_struct_object"
|
||||
|
Reference in New Issue
Block a user