|
8 | 8 |
|
9 | 9 | #pragma once
|
10 | 10 |
|
11 |
| -#include <CL/sycl/access/access.hpp> |
12 |
| -#include <CL/sycl/detail/defines.hpp> |
13 |
| -#include <CL/sycl/detail/export.hpp> // for DLL_LOCAL used in int. header |
| 11 | +// This header file must not include any standard C++ header files. |
14 | 12 |
|
15 |
| -#include <cstddef> |
| 13 | +#include <CL/sycl/detail/defines_elementary.hpp> |
| 14 | +#include <CL/sycl/detail/export.hpp> |
16 | 15 |
|
17 | 16 | __SYCL_INLINE_NAMESPACE(cl) {
|
18 | 17 | namespace sycl {
|
@@ -71,14 +70,16 @@ template <char...> struct KernelInfoData {
|
71 | 70 | // C++14 like index_sequence and make_index_sequence
|
72 | 71 | // not needed C++14 members (value_type, size) not implemented
|
73 | 72 | template <class T, T...> struct integer_sequence {};
|
74 |
| -template <size_t... I> using index_sequence = integer_sequence<size_t, I...>; |
75 |
| -template <size_t N> |
76 |
| -using make_index_sequence = __make_integer_seq<integer_sequence, size_t, N>; |
| 73 | +template <unsigned long long... I> |
| 74 | +using index_sequence = integer_sequence<unsigned long long, I...>; |
| 75 | +template <unsigned long long N> |
| 76 | +using make_index_sequence = |
| 77 | + __make_integer_seq<integer_sequence, unsigned long long, N>; |
77 | 78 |
|
78 | 79 | template <typename T> struct KernelInfoImpl {
|
79 | 80 | private:
|
80 | 81 | static constexpr auto n = __builtin_unique_stable_name(T);
|
81 |
| - template <size_t... I> |
| 82 | + template <unsigned long long... I> |
82 | 83 | static KernelInfoData<n[I]...> impl(index_sequence<I...>) {
|
83 | 84 | return {};
|
84 | 85 | }
|
|
0 commit comments