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