Daily bump.
[gcc.git] / gcc / testsuite / g++.dg / diagnostic / ptrtomem1.C
blob9f9b77ae4035e9fa2a9455d6aedee397d96ca51b
1 // PR c++/97406
2 // { dg-do compile { target c++20 } }
4 struct X {
5   void f() { }
6   int a;
7   int arr[5];
8 };
10 // Duplicated so that I can check dg-message.
11 template<typename T>
12 requires (sizeof(T)==1) // { dg-message {\[with T = void \(X::\*\)\(\)\]} }
13 void f1(T)
14 { }
16 template<typename T>
17 requires (sizeof(T)==1) // { dg-message {\[with T = int X::\*\]} }
18 void f2(T)
19 { }
21 template<typename T>
22 requires (sizeof(T)==1) // { dg-message {\[with T = int \(X::\*\)\[5\]\]} }
23 void f3(T)
24 { }
26 int main()
28   f1(&X::f); // { dg-error "no matching function for call" }
29   f2(&X::a); // { dg-error "no matching function for call" }
30   f3(&X::arr); // { dg-error "no matching function for call" }