1 // DR 342, PR c++/48582 2 // { dg-do compile { target c++11 } } 3 4 struct A; f()5template < void * = nullptr > void f() { } g()6template < void (A::*)() = nullptr > void g() { } h()7template < int A::* = nullptr > void h() { } 8 main()9int main() 10 { 11 // { dg-final { scan-assembler "_Z1fILPv0EEvv" } } 12 f(); 13 f<nullptr>(); 14 15 // { dg-final { scan-assembler "_Z1gILM1AFvvE0EEvv" } } 16 g(); 17 g<nullptr>(); 18 19 // { dg-final { scan-assembler "_Z1fILPv0EEvv" } } 20 h(); 21 h<nullptr>(); 22 23 constexpr void * ptr = nullptr; 24 f<ptr>(); 25 } 26