1 // { dg-do compile }
2 // Origin: <marco dot franzen at bigfoot dot com>
3 // PR c++/10126: Handle ptmf default conversions while matching a template
4 //  argument
5 
6 struct B
7 {
8   int I () const;
9   int I ();
10 };
11 
12 struct D : B {};
13 
14 template <int (D::*fun)() const> int Get(); // { dg-message "note" }
15 
main()16 int main ()
17 {
18   Get<&B::I>();   // { dg-error "template argument|converted constant" "not valid" }
19   // { dg-error "no match" "no match" { target *-*-* } .-1 }
20   Get<&D::I>();   // { dg-error "template argument|converted constant" "not valid" }
21   // { dg-error "no match" "no match" { target *-*-* } .-1 }
22 }
23