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