https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70536
Bug ID: 70536
Summary: g++ doesn't emit DW_AT_name for
DW_TAG_GNU_formal_parameter_pack
Product: gcc
Version: 6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ed at catmur dot co.uk
Target Milestone: ---
Per http://wiki.dwarfstd.org/index.php?title=C%2B%2B0x:_Variadic_templates
DW_TAG_GNU_formal_parameter_pack should have a DW_AT_name:
17$: DW_TAG_formal_parameter_pack
DW_AT_name("args")
18$: DW_TAG_formal_parameter
! no DW_AT_name attribute
DW_AT_type(reference to 13$)
(...)
I think this is just a typo in gcc/dwarf2out.c:
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index d48895c..d5e09d0 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -17497,7 +17497,7 @@ gen_formal_parameter_pack_die (tree parm_pack,
&& subr_die);
parm_pack_die = new_die (DW_TAG_GNU_formal_parameter_pack, subr_die,
parm_pack);
- add_src_coords_attributes (parm_pack_die, parm_pack);
+ add_name_and_src_coords_attributes (parm_pack_die, parm_pack);
for (arg = pack_arg; arg; arg = DECL_CHAIN (arg))
{