// PR c++/61566 | |
// { dg-do compile { target c++11 } } | |
struct function | |
{ | |
template < typename _Functor> | |
function (_Functor) {} | |
}; | |
template <class U> | |
struct C | |
{ | |
template <typename T> | |
void foo (T, function = [] {}); | |
}; | |
void bar () | |
{ | |
C<int> c; | |
c.foo (1); | |
} | |
// { dg-final { scan-assembler "_ZN8functionC1IZN1CIiE3fooIiEEvT_S_Ed_UlvE_EES4_" } } | |
// { dg-final { scan-assembler-not "_ZZN1CIiE3fooIiEEvT_8functionEd_NKUlvE_clEv" } } |