public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r11-8871] Fix regression in debug info for Ada with DWARF 5
@ 2021-08-16 13:29 Eric Botcazou
0 siblings, 0 replies; only message in thread
From: Eric Botcazou @ 2021-08-16 13:29 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:0c0c320a6e6195e68a4e0e44378ccde3be2d998b
commit r11-8871-g0c0c320a6e6195e68a4e0e44378ccde3be2d998b
Author: Eric Botcazou <ebotcazou@gcc.gnu.org>
Date: Mon Aug 16 15:26:22 2021 +0200
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.
Diff:
---
gcc/dwarf2out.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 7606371296e..54c6c326d49 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -21054,6 +21054,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);
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-08-16 13:29 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-16 13:29 [gcc r11-8871] Fix regression in debug info for Ada with DWARF 5 Eric Botcazou
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).