The "struct S" type in bitfield-parent-optimized-out.exp is declared to
have a size of 4 bytes but to hold two 4-byte members: an int-based
bitfield and a 4-byte int. Also, both members have the same
data_member_location 2, causing them to overlap and to reach 2 bytes
beyond the structure's boundary.
This is fixed by increasing the structure size to 8 and setting the
first and second member's data_member_location to 0 and 4, respectively.
gdb/testsuite/ChangeLog:
* gdb.dwarf2/bitfield-parent-optimized-out.exp: Fix DWARF code for
the definition of struct S.
+2016-11-15 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * gdb.dwarf2/bitfield-parent-optimized-out.exp: Fix DWARF code for
+ the definition of struct S.
+
2016-11-11 Catherine Moore <clm@codesourcery.com>
* gdb.base/dump.exp: Identify verilog format dump tests as such.
struct_label: structure_type {
{name S}
- {byte_size 4 DW_FORM_sdata}
+ {byte_size 8 DW_FORM_sdata}
} {
member {
{name bitfield}
{type :$int_label}
{bit_size 12 DW_FORM_sdata}
{bit_offset 20 DW_FORM_sdata}
- {data_member_location 2 DW_FORM_sdata}
}
member {
{name intfield}
{type :$int_label}
- {data_member_location 2 DW_FORM_sdata}
+ {data_member_location 4 DW_FORM_sdata}
}
}