re PR c++/61433 (ICE: SIGSEGV in friend_accessible_p (search.c:778) with -std=gnu++11 -O -fcompare-debug -fno-inline -fno-ipa-pure-const -fipa-sra)
PR c++/61433 * error.c (dump_template_bindings): Don't tsubst in a clone. From-SVN: r212091
This commit is contained in:
parent
8274b28187
commit
1ed5f1d3f1
3 changed files with 33 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
2014-06-27 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/61433
|
||||
* error.c (dump_template_bindings): Don't tsubst in a clone.
|
||||
|
||||
2014-06-27 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/61614
|
||||
|
|
|
@ -318,6 +318,11 @@ dump_template_bindings (cxx_pretty_printer *pp, tree parms, tree args,
|
|||
if (vec_safe_is_empty (typenames) || uses_template_parms (args))
|
||||
return;
|
||||
|
||||
/* Don't try to print typenames when we're processing a clone. */
|
||||
if (current_function_decl
|
||||
&& !DECL_LANG_SPECIFIC (current_function_decl))
|
||||
return;
|
||||
|
||||
FOR_EACH_VEC_SAFE_ELT (typenames, i, t)
|
||||
{
|
||||
if (need_semicolon)
|
||||
|
|
23
gcc/testsuite/g++.dg/debug/dwarf2/pr61433.C
Normal file
23
gcc/testsuite/g++.dg/debug/dwarf2/pr61433.C
Normal file
|
@ -0,0 +1,23 @@
|
|||
// PR c++/61433
|
||||
// { dg-do compile { target c++11 } }
|
||||
// { dg-options "-O -fcompare-debug -fno-inline -fno-ipa-pure-const -fipa-sra" }
|
||||
|
||||
template <class T>
|
||||
struct A
|
||||
{
|
||||
template <class V>
|
||||
struct B
|
||||
{
|
||||
int MEM;
|
||||
};
|
||||
};
|
||||
struct D {};
|
||||
struct C: public A<int>::B<D>
|
||||
{};
|
||||
template <class T, class U, class V>
|
||||
auto k(T t, U u, V v) -> decltype (t.U::template B<V>::MEM)
|
||||
{}
|
||||
int main()
|
||||
{
|
||||
k( C(), A<int>(), D() );
|
||||
}
|
Loading…
Add table
Reference in a new issue