bitfield-parent-optimized-out: Fix struct definition
authorAndreas Arnez <arnez@linux.vnet.ibm.com>
Tue, 15 Nov 2016 19:52:03 +0000 (20:52 +0100)
committerAndreas Arnez <arnez@linux.vnet.ibm.com>
Tue, 15 Nov 2016 19:52:03 +0000 (20:52 +0100)
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.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.dwarf2/bitfield-parent-optimized-out.exp

index 054629f6f7fe4d1c672650f2329ecfabd8bc72ec..d9e61f41825bcf27ea9cfdc02848fac7015cf6aa 100644 (file)
@@ -1,3 +1,8 @@
+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.
index 27d80448db627544006605cd95498f7fe1d3da88..b789970abaa1535896a02f026a145189676416a2 100644 (file)
@@ -43,19 +43,18 @@ Dwarf::assemble $asm_file {
 
            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}
                }
            }