From: aldyh Date: Wed, 24 Jun 2015 15:58:13 +0000 (+0000) Subject: * dwarf2out.c (gen_formal_parameter_die): Remove assert. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d49d9e38a49d8ecc580cc6c0cb24a571d5786cf7;p=thirdparty%2Fgcc.git * dwarf2out.c (gen_formal_parameter_die): Remove assert. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224907 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cb889e2b7994..40e73c910826 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2015-06-24 Aldy Hernandez + + PR debug/66482 + * dwarf2out.c (gen_formal_parameter_die): Remove assert. + 2015-06-24 Ilya Enkovich * tree-vect-slp.c (vect_build_slp_tree_1): Init vectype. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 360f67f151cc..843fc1e85fb5 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -18021,18 +18021,14 @@ gen_formal_parameter_die (tree node, tree origin, bool emit_name_p, { /* FIXME: Reuse DIE even with a differing context. - This happens when called through - dwarf2out_abstract_function for formal parameter - packs. The issue is that we're calling + This can happen when calling dwarf2out_abstract_function to build debug info for the abstract instance of a function for which we have already generated a DIE in dwarf2out_early_global_decl. - Once we remove dwarf2out_abstract_function, this - gcc_assert should be a gcc_unreachable. */ - gcc_assert (parm_die->die_parent->die_tag - == DW_TAG_GNU_formal_parameter_pack); + Once we remove dwarf2out_abstract_function, we should + have a call to gcc_unreachable here. */ } } diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/pr66482.c b/gcc/testsuite/gcc.dg/debug/dwarf2/pr66482.c new file mode 100644 index 000000000000..880791c72d43 --- /dev/null +++ b/gcc/testsuite/gcc.dg/debug/dwarf2/pr66482.c @@ -0,0 +1,9 @@ +/* { dg-do compile } */ +/* { dg-options "-O3 -gdwarf" } */ + +void f(int p) {} +int g() { + void f(); + g(); + return 0; +}