aboutsummaryrefslogtreecommitdiff
path: root/clang/test/SemaSYCL/Inputs/vectorcall.hpp
blob: 566a48dd24c305c8afa2e2e5a2b763193cbf5dd8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

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)>;
}