re PR debug/71855 (duplicate unspecified_parameters DIE in DWARF for functions with variable arguments)
PR debug/71855 * dwarf2out.c (gen_subprogram_die): Only call gen_unspecified_parameters_die while dumping early dwarf. From-SVN: r238488
This commit is contained in:
parent
4fda19ef2b
commit
f36a3ff7f7
|
@ -1,3 +1,9 @@
|
|||
2016-07-19 Aldy Hernandez <aldyh@redhat.com>
|
||||
|
||||
PR debug/71855
|
||||
* dwarf2out.c (gen_subprogram_die): Only call
|
||||
gen_unspecified_parameters_die while dumping early dwarf.
|
||||
|
||||
2016-07-19 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/71874
|
||||
|
|
|
@ -20726,14 +20726,17 @@ gen_subprogram_die (tree decl, dw_die_ref context_die)
|
|||
void_type_node 2) an unprototyped function declaration (not a
|
||||
definition). This just means that we have no info about the
|
||||
parameters at all. */
|
||||
if (prototype_p (TREE_TYPE (decl)))
|
||||
if (early_dwarf)
|
||||
{
|
||||
/* This is the prototyped case, check for.... */
|
||||
if (stdarg_p (TREE_TYPE (decl)))
|
||||
if (prototype_p (TREE_TYPE (decl)))
|
||||
{
|
||||
/* This is the prototyped case, check for.... */
|
||||
if (stdarg_p (TREE_TYPE (decl)))
|
||||
gen_unspecified_parameters_die (decl, subr_die);
|
||||
}
|
||||
else if (DECL_INITIAL (decl) == NULL_TREE)
|
||||
gen_unspecified_parameters_die (decl, subr_die);
|
||||
}
|
||||
else if (DECL_INITIAL (decl) == NULL_TREE)
|
||||
gen_unspecified_parameters_die (decl, subr_die);
|
||||
}
|
||||
|
||||
if (subr_die != old_die)
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-options "-O0 -g -dA" } */
|
||||
|
||||
// Test that there is only one DW_TAG_unspecified_parameters DIE.
|
||||
|
||||
void
|
||||
foo (const char *format, ...)
|
||||
{
|
||||
}
|
||||
|
||||
// { dg-final { scan-assembler-times "DIE.*DW_TAG_unspecified_parameters" 1 } }
|
Loading…
Reference in New Issue