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))
     {

Reply via email to