[gcc(refs/users/aoliva/heads/testme)] [dwarf] get_debug_type of qualified_type
Alexandre Oliva
aoliva@gcc.gnu.org
Fri Jun 28 11:16:20 GMT 2024
https://gcc.gnu.org/g:0aa14458da76fdbb55e77b0ed5b8069fe57ed56d
commit 0aa14458da76fdbb55e77b0ed5b8069fe57ed56d
Author: Alexandre Oliva <oliva@adacore.com>
Date: Fri Jun 28 08:13:52 2024 -0300
[dwarf] get_debug_type of qualified_type
When we choose the narrower/packed variant of a type as the main debug
info type, we fail to output its name if we fail to advance
qualified_type to the main debug type in modified_type_die.
for gcc/ChangeLog
* dwarf2out.cc (modified_type_die): Take qualified_type's
debug type.
Diff:
---
gcc/dwarf2out.cc | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/gcc/dwarf2out.cc b/gcc/dwarf2out.cc
index f463435e446..bf5faffb700 100644
--- a/gcc/dwarf2out.cc
+++ b/gcc/dwarf2out.cc
@@ -13758,6 +13758,13 @@ modified_type_die (tree type, int cv_quals, bool reverse,
/* If we do, then we can just use its DIE, if it exists. */
if (qualified_type)
{
+ if (lang_hooks.types.get_debug_type)
+ {
+ tree debug_type = lang_hooks.types.get_debug_type (qualified_type);
+ if (debug_type != NULL)
+ qualified_type = debug_type;
+ }
+
mod_type_die = lookup_type_die (qualified_type);
/* DW_AT_endianity doesn't come from a qualifier on the type, so it is
More information about the Gcc-cvs
mailing list