mirror of git://gcc.gnu.org/git/gcc.git
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>
|
2016-07-19 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR middle-end/71874
|
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
|
void_type_node 2) an unprototyped function declaration (not a
|
||||||
definition). This just means that we have no info about the
|
definition). This just means that we have no info about the
|
||||||
parameters at all. */
|
parameters at all. */
|
||||||
if (prototype_p (TREE_TYPE (decl)))
|
if (early_dwarf)
|
||||||
{
|
{
|
||||||
/* This is the prototyped case, check for.... */
|
if (prototype_p (TREE_TYPE (decl)))
|
||||||
if (stdarg_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);
|
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)
|
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