Fix regression in debug info for Ada with DWARF 5
add_scalar_info can directly generate a reference to an existing DIE for a scalar attribute, e.g the upper bound of a VLA, but it does so only if this existing DIE has a location or is a constant: if (get_AT (decl_die, DW_AT_location) || get_AT (decl_die, DW_AT_data_member_location) || get_AT (decl_die, DW_AT_const_value)) Now, in DWARF 5, members of a structure that are bitfields no longer have a DW_AT_data_member_location but a DW_AT_data_bit_offset attribute instead, so the condition is bypassed. gcc/ * dwarf2out.c (add_scalar_info): Deal with DW_AT_data_bit_offset.
This commit is contained in:
parent
e660441f94
commit
be024a1285
1 changed files with 1 additions and 0 deletions
|
@ -21253,6 +21253,7 @@ add_scalar_info (dw_die_ref die, enum dwarf_attribute attr, tree value,
|
|||
{
|
||||
if (get_AT (decl_die, DW_AT_location)
|
||||
|| get_AT (decl_die, DW_AT_data_member_location)
|
||||
|| get_AT (decl_die, DW_AT_data_bit_offset)
|
||||
|| get_AT (decl_die, DW_AT_const_value))
|
||||
{
|
||||
add_AT_die_ref (die, attr, decl_die);
|
||||
|
|
Loading…
Add table
Reference in a new issue