]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/g++.dg/cpp1z/noexcept-type24.C
c++: PMF template parm and noexcept [PR90664]
[thirdparty/gcc.git] / gcc / testsuite / g++.dg / cpp1z / noexcept-type24.C
1 // PR c++/90664
2 // { dg-do compile { target c++11 } }
3
4 template <typename TT, typename MFP, MFP> struct OpM;
5
6 template <typename TR, typename TT, TR (TT::*f)()>
7 struct OpM<TT, TR (TT::*)(), f>
8 {};
9
10 class Class {
11 public:
12 int address() noexcept { return 0; }
13 void address(int) noexcept {}
14 };
15
16 struct Sk {
17 template <class C, typename R> Sk(R (C::*p)()) {
18 typedef OpM<C, R (C::*)() /* noexcept */, &Class::address> OP;
19 }
20 };
21
22 Sk sk(static_cast<int (Class::*)()>(&Class::address));