aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2/read.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/dwarf2/read.c')
-rw-r--r--gdb/dwarf2/read.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index a9f38cf..634d67a 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -9971,7 +9971,12 @@ handle_member_location (struct die_info *die, struct dwarf2_cu *cu,
CORE_ADDR offset;
if (decode_locdesc (data_member_location_attr->as_block (), cu,
&offset))
- field->set_loc_bitpos (offset * bits_per_byte);
+ {
+ field->set_loc_bitpos (offset * bits_per_byte);
+
+ if (has_bit_offset)
+ apply_bit_offset_to_field (*field, bit_offset, anonymous_size);
+ }
else
{
dwarf2_per_objfile *per_objfile = cu->per_objfile;