public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r12-2930] Fix regression in debug info for Ada with DWARF 5
@ 2021-08-16 13:27 Eric Botcazou
  0 siblings, 0 replies; only message in thread
From: Eric Botcazou @ 2021-08-16 13:27 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:be024a1285840bf2fc47fcbde32375468a92ce05

commit r12-2930-gbe024a1285840bf2fc47fcbde32375468a92ce05
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 4bcd3313fee..ba0a6d6ed60 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -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);


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-08-16 13:27 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:27 [gcc r12-2930] 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).