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
6struct B
7{
8  int I () const;
9  int I ();
10};
11
12struct D : B {};
13
14template <int (D::*fun)() const> int Get(); // { dg-message "note" }
15
16int main ()
17{
18  Get<&B::I>();   // { dg-error "not a valid template argument" "not valid" }
19  // { dg-error "no match" "no match" { target *-*-* } 18 }
20  // { dg-message "note" "note" { target *-*-* } 18 }
21  Get<&D::I>();   // { dg-error "not a valid template argument" "not valid" }
22  // { dg-error "no match" "no match" { target *-*-* } 21 }
23  // { dg-message "note" "note" { target *-*-* } 21 }
24}
25