From: Aldy Hernandez Date: Wed, 24 Jun 2015 15:58:13 +0000 (+0000) Subject: * dwarf2out.c (gen_formal_parameter_die): Remove assert. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4ca1ca5bdb4c7467a1db9a3e2ef32607cceb6ddd;p=gcc.git * dwarf2out.c (gen_formal_parameter_die): Remove assert. From-SVN: r224907 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cb889e2b799..40e73c91082 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 360f67f151c..843fc1e85fb 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 00000000000..880791c72d4 --- /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; +}