blob: 566a48dd24c305c8afa2e2e5a2b763193cbf5dd8 [file] [log] [blame]
template <typename F> struct A{};
template <typename Ret, typename C, typename... Args> struct A<Ret ( C::*)(Args...) noexcept> { static constexpr int value = 0; };
template <typename Ret, typename C, typename... Args> struct A<Ret (__vectorcall C::*)(Args...) noexcept> { static constexpr int value = 1; };
template <typename F> constexpr int A_v = A<F>::value;
struct B
{
void f() noexcept {}
void __vectorcall g() noexcept {}
};
int main()
{
return A_v<decltype(&B::f)> + A_v<decltype(&B::g)>;
}