Skip to content

Commit 1fde656

Browse files
[SYCL][NFCI] Make sure that SYCL headers are self-contained (#13264)
Added a new set of auto-generated tests which check that each header in `sycl/` directory is self-contained and therefore can be compiled standalone.
1 parent a36e9f8 commit 1fde656

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+340
-52
lines changed

sycl/include/CL/__spirv/spirv_vars.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
#ifdef __SYCL_DEVICE_ONLY__
1212

13+
#include <CL/__spirv/spirv_types.hpp> // for __ocl_vec_t
1314
#include <sycl/detail/defines_elementary.hpp> // for __DPCPP_SYCL_EXTERNAL
1415

1516
#include <cstddef> // for size_t

sycl/include/sycl/context.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
#include <sycl/detail/info_desc_helpers.hpp> // for is_context_info_desc
1717
#include <sycl/detail/owner_less_base.hpp> // for OwnerLessBase
1818
#include <sycl/detail/pi.h> // for pi_native_handle
19-
#include <sycl/device.hpp> // for device
2019
#include <sycl/platform.hpp> // for platform
2120
#include <sycl/property_list.hpp> // for property_list
2221

sycl/include/sycl/detail/device_global_map.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88

99
#pragma once
1010

11+
#include <sycl/detail/export.hpp>
12+
1113
namespace sycl {
1214
inline namespace _V1 {
1315
namespace detail {

sycl/include/sycl/detail/group_sort_impl.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
#ifdef __SYCL_DEVICE_ONLY__
1414

15+
#include <sycl/builtins.hpp>
1516
#include <sycl/group_algorithm.hpp>
1617
#include <sycl/group_barrier.hpp>
1718

sycl/include/sycl/detail/host_pipe_map.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88

99
#pragma once
1010

11+
#include <sycl/detail/export.hpp>
12+
1113
namespace sycl {
1214
inline namespace _V1 {
1315
namespace detail {

sycl/include/sycl/detail/kernel_properties.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
#pragma once
1212

13+
#include <sycl/detail/defines_elementary.hpp>
1314
#include <sycl/ext/oneapi/properties/property.hpp>
1415
#include <sycl/ext/oneapi/properties/property_value.hpp>
1516

sycl/include/sycl/detail/reduction_forward.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
namespace sycl {
2525
inline namespace _V1 {
26+
class handler;
2627
namespace detail {
2728
template <typename T, class BinaryOperation, int Dims, size_t Extent,
2829
bool ExplicitIdentity, typename RedOutVar>

sycl/include/sycl/detail/usm_impl.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313

1414
namespace sycl {
1515
inline namespace _V1 {
16+
class device;
17+
1618
namespace detail::usm {
1719

1820
__SYCL_EXPORT void *alignedAlloc(size_t Alignment, size_t Bytes,

sycl/include/sycl/detail/vector_convert.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
#pragma once
5656

5757
#include <sycl/detail/generic_type_traits.hpp> // for is_sigeninteger, is_s...
58+
#include <sycl/exception.hpp> // for errc
5859

5960
#ifndef __SYCL_DEVICE_ONLY__
6061
#include <cfenv> // for fesetround, fegetround

sycl/include/sycl/device_aspect_traits.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88

99
#pragma once
1010

11-
#include "device_aspect_macros.hpp" // for aspect
11+
#include "device_aspect_macros.hpp" // for __SYCL_ALL_DEVICES_HAVE_* macro
12+
#include <sycl/aspects.hpp> // for aspect
1213

1314
#include <type_traits> // for bool_constant
1415

sycl/include/sycl/ext/intel/esimd/detail/sycl_util.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
/// @cond ESIMD_DETAIL
1515

1616
#include <sycl/accessor.hpp>
17+
#include <sycl/ext/intel/esimd/detail/defines_elementary.hpp>
1718

1819
namespace sycl {
1920
inline namespace _V1 {

sycl/include/sycl/ext/intel/esimd/math.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include <sycl/ext/intel/esimd/detail/util.hpp>
1818
#include <sycl/ext/intel/esimd/simd.hpp>
1919
#include <sycl/ext/intel/esimd/simd_view.hpp>
20+
#include <sycl/ext/intel/experimental/esimd/detail/math_intrin.hpp>
2021

2122
#include <cstdint>
2223

sycl/include/sycl/ext/intel/esimd/memory_properties.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
#pragma once
1010

11+
#include <sycl/ext/intel/esimd/detail/defines_elementary.hpp>
1112
#include <sycl/ext/intel/experimental/fpga_utils.hpp>
1213
#include <sycl/ext/oneapi/experimental/common_annotated_properties/properties.hpp>
1314
#include <sycl/ext/oneapi/properties/properties.hpp>

sycl/include/sycl/ext/intel/esimd/xmx/dpas.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#include <sycl/ext/intel/esimd/detail/types.hpp>
1515
#include <sycl/ext/intel/esimd/xmx/common.hpp>
1616
#include <sycl/ext/intel/experimental/esimd/detail/math_intrin.hpp>
17+
#include <sycl/ext/intel/experimental/esimd/tfloat32.hpp>
1718
#include <sycl/ext/oneapi/bfloat16.hpp>
1819

1920
namespace sycl {

sycl/include/sycl/ext/intel/experimental/detail/misc_intrin.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
/// @cond SYCL_DETAIL
1414

1515
#ifdef __SYCL_DEVICE_ONLY__
16+
#include <sycl/detail/defines_elementary.hpp>
1617
#define __SYCL_INTRIN __DPCPP_SYCL_EXTERNAL
1718
#else
1819
#define __SYCL_INTRIN inline

sycl/include/sycl/ext/intel/experimental/esimd/detail/math_intrin.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#include <sycl/ext/intel/esimd/detail/defines_elementary.hpp>
1616
#include <sycl/ext/intel/esimd/detail/math_intrin.hpp>
1717
#include <sycl/ext/intel/esimd/detail/types.hpp>
18+
#include <sycl/ext/intel/esimd/xmx/common.hpp>
1819

1920
#define __ESIMD_raw_vec_t(T, SZ) \
2021
sycl::ext::intel::esimd::detail::vector_type_t< \

sycl/include/sycl/ext/intel/experimental/esimd/detail/memory_intrin.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
#include <sycl/ext/intel/esimd/detail/defines_elementary.hpp>
1616
#include <sycl/ext/intel/esimd/detail/memory_intrin.hpp>
17+
#include <sycl/ext/intel/experimental/esimd/common.hpp>
1718

1819
// generic work-group split barrier
1920
__ESIMD_INTRIN void

sycl/include/sycl/ext/intel/experimental/grf_size_properties.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#pragma once
1010

1111
#include <sycl/detail/kernel_properties.hpp>
12+
#include <sycl/ext/oneapi/properties/properties.hpp>
1213
#include <sycl/ext/oneapi/properties/property.hpp>
1314
#include <sycl/ext/oneapi/properties/property_value.hpp>
1415

sycl/include/sycl/ext/intel/math.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010

1111
#pragma once
1212

13+
#include <cstdint>
14+
1315
// _iml_half_internal is internal representation for fp16 type used in intel
1416
// math device library. The definition here should align with definition in
1517
// https://github.com/intel/llvm/blob/sycl/libdevice/imf_half.hpp

sycl/include/sycl/ext/intel/math/imf_fp_conversions.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
//===----------------------------------------------------------------------===//
1010

1111
#pragma once
12+
13+
#include <sycl/ext/intel/math.hpp>
1214
#include <sycl/ext/oneapi/bfloat16.hpp>
1315
#include <sycl/half_type.hpp>
1416

sycl/include/sycl/ext/intel/math/imf_half_trivial.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
//===----------------------------------------------------------------------===//
1010

1111
#pragma once
12+
13+
#include <sycl/builtins.hpp>
1214
#include <sycl/half_type.hpp>
1315

1416
namespace sycl {

sycl/include/sycl/ext/intel/math/imf_simd.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010

1111
#pragma once
1212

13+
#include <type_traits>
14+
1315
extern "C" {
1416
unsigned int __imf_vabs2(unsigned int);
1517
unsigned int __imf_vabs4(unsigned int);

sycl/include/sycl/ext/intel/pipes.hpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88

99
#pragma once
1010

11-
#include <sycl/exception.hpp> // for make_error_code, errc, exception
11+
#include <CL/__spirv/spirv_types.hpp> // for ConstantPipeStorage
12+
#include <sycl/exception.hpp> // for make_error_code, errc, exception
1213

1314
#include <stddef.h> // for size_t
1415
#include <stdint.h> // for int32_t
@@ -170,7 +171,7 @@ class kernel_readable_io_pipe {
170171
static constexpr int32_t m_Alignment = alignof(_dataT);
171172
static constexpr int32_t ID = _name::id;
172173
#ifdef __SYCL_DEVICE_ONLY__
173-
static constexpr struct ConstantPipeStorage m_Storage
174+
static constexpr ConstantPipeStorage m_Storage
174175
__attribute__((io_pipe_id(ID))) = {m_Size, m_Alignment, min_capacity};
175176
#endif // __SYCL_DEVICE_ONLY__
176177
};
@@ -221,7 +222,7 @@ class kernel_writeable_io_pipe {
221222
static constexpr int32_t m_Alignment = alignof(_dataT);
222223
static constexpr int32_t ID = _name::id;
223224
#ifdef __SYCL_DEVICE_ONLY__
224-
static constexpr struct ConstantPipeStorage m_Storage
225+
static constexpr ConstantPipeStorage m_Storage
225226
__attribute__((io_pipe_id(ID))) = {m_Size, m_Alignment, min_capacity};
226227
#endif // __SYCL_DEVICE_ONLY__
227228
};

sycl/include/sycl/ext/oneapi/accessor_property_list.hpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,13 @@ class __SYCL_TYPE(accessor_property_list) accessor_property_list
234234
PropsT...>::value;
235235
}
236236
};
237+
238+
namespace detail {
239+
template <typename T> struct is_accessor_property_list : std::false_type {};
240+
template <typename... Props>
241+
struct is_accessor_property_list<accessor_property_list<Props...>>
242+
: std::true_type {};
243+
} // namespace detail
237244
} // namespace ext::oneapi
238245

239246
} // namespace _V1

sycl/include/sycl/ext/oneapi/backend/hip.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#pragma once
1010

1111
#include <sycl/backend.hpp>
12+
#include <sycl/detail/backend_traits_hip.hpp>
1213

1314
namespace sycl {
1415
inline namespace _V1 {

sycl/include/sycl/ext/oneapi/bf16_storage_builtins.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
#include <CL/__spirv/spirv_ops.hpp>
1212
#include <sycl/builtins.hpp>
13-
#include <sycl/detail/builtins.hpp>
13+
#include <sycl/detail/builtins/builtins.hpp>
1414
#include <sycl/detail/generic_type_lists.hpp>
1515
#include <sycl/detail/generic_type_traits.hpp>
1616
#include <sycl/detail/type_traits.hpp>

sycl/include/sycl/ext/oneapi/experimental/address_cast.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
//===----------------------------------------------------------------------===//
88

99
#pragma once
10+
11+
#include <sycl/detail/spirv.hpp>
1012
#include <sycl/multi_ptr.hpp>
1113

1214
namespace sycl {

sycl/include/sycl/ext/oneapi/experimental/alloca.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88

99
#pragma once
1010

11-
#include "sycl/exception.hpp"
12-
#include "sycl/kernel_handler.hpp"
13-
#include "sycl/multi_ptr.hpp"
11+
#include <sycl/exception.hpp>
12+
#include <sycl/kernel_handler.hpp>
13+
#include <sycl/pointers.hpp>
1414

1515
#ifdef __SYCL_DEVICE_ONLY__
1616
#include "sycl/aspects.hpp"

sycl/include/sycl/ext/oneapi/experimental/annotated_arg/annotated_arg.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include <sycl/ext/oneapi/experimental/annotated_ptr/annotated_ptr_properties.hpp>
1414
#include <sycl/ext/oneapi/experimental/common_annotated_properties/properties.hpp>
1515
#include <sycl/ext/oneapi/properties/properties.hpp>
16+
#include <sycl/pointers.hpp>
1617

1718
#include <cstddef>
1819
#include <type_traits>

sycl/include/sycl/ext/oneapi/experimental/annotated_ptr/annotated_ptr.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include <sycl/ext/oneapi/properties/properties.hpp>
1818
#include <sycl/ext/oneapi/properties/property.hpp>
1919
#include <sycl/ext/oneapi/properties/property_value.hpp>
20+
#include <sycl/pointers.hpp>
2021

2122
#include <cstddef>
2223
#include <string_view>

sycl/include/sycl/ext/oneapi/experimental/annotated_usm/alloc_base.hpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,14 @@
1010

1111
#include <sycl/ext/oneapi/experimental/annotated_ptr/annotated_ptr.hpp>
1212
#include <sycl/ext/oneapi/experimental/annotated_usm/alloc_util.hpp>
13+
#include <sycl/queue.hpp>
14+
#include <sycl/usm.hpp>
1315

1416
namespace sycl {
1517
inline namespace _V1 {
18+
class device;
19+
class context;
20+
1621
namespace ext {
1722
namespace oneapi {
1823
namespace experimental {
@@ -258,4 +263,4 @@ malloc_annotated(size_t count, const queue &syclQueue,
258263
} // namespace oneapi
259264
} // namespace ext
260265
} // namespace _V1
261-
} // namespace sycl
266+
} // namespace sycl

sycl/include/sycl/ext/oneapi/experimental/annotated_usm/alloc_util.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99
#pragma once
1010

1111
#include <numeric>
12+
#include <sycl/ext/intel/experimental/usm_properties.hpp>
1213
#include <sycl/ext/oneapi/experimental/annotated_ptr/annotated_ptr.hpp>
14+
#include <sycl/property_list.hpp>
1315

1416
namespace sycl {
1517
inline namespace _V1 {
@@ -245,4 +247,4 @@ inline size_t combine_align(size_t alignA, size_t alignB) {
245247
} // namespace oneapi
246248
} // namespace ext
247249
} // namespace _V1
248-
} // namespace sycl
250+
} // namespace sycl

sycl/include/sycl/ext/oneapi/experimental/annotated_usm/dealloc.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#pragma once
1010

1111
#include <sycl/ext/oneapi/experimental/annotated_ptr/annotated_ptr.hpp>
12+
#include <sycl/usm.hpp>
1213

1314
namespace sycl {
1415
inline namespace _V1 {
@@ -33,4 +34,4 @@ void free(annotated_ptr<T, propList> &ptr, const queue &syclQueue) {
3334
} // namespace oneapi
3435
} // namespace ext
3536
} // namespace _V1
36-
} // namespace sycl
37+
} // namespace sycl

sycl/include/sycl/ext/oneapi/experimental/cuda/barrier.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
#pragma once
1010

11+
#include <CL/__spirv/spirv_ops.hpp> // for __clc_BarrierInitialize
1112
#include <sycl/detail/pi.h> // for PI_ERROR_INVALID_DEVICE
1213
#include <sycl/exception.hpp> // for runtime_error
1314

sycl/include/sycl/ext/oneapi/experimental/fixed_size_group.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include <sycl/detail/pi.h> // for PI_ERROR_INVALID_DEVICE
1313
#include <sycl/detail/type_traits.hpp> // for is_fixed_size_group, is_group
1414
#include <sycl/exception.hpp> // for runtime_error
15+
#include <sycl/ext/oneapi/experimental/non_uniform_groups.hpp>
1516
#include <sycl/ext/oneapi/sub_group_mask.hpp> // for sub_group_mask
1617
#include <sycl/id.hpp> // for id
1718
#include <sycl/memory_enums.hpp> // for memory_scope

sycl/include/sycl/ext/oneapi/experimental/group_helpers_sorters.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#if (!defined(_HAS_STD_BYTE) || _HAS_STD_BYTE != 0)
1212

1313
#include <sycl/aliases.hpp> // for half
14+
#include <sycl/builtins.hpp> // for min
1415
#include <sycl/detail/pi.h> // for PI_ERROR_INVALID_DEVICE
1516
#include <sycl/exception.hpp> // for sycl_category, exception
1617
#include <sycl/ext/oneapi/bfloat16.hpp> // for bfloat16

sycl/include/sycl/ext/oneapi/experimental/group_load_store.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#pragma once
1212

1313
#include <sycl/ext/oneapi/properties/properties.hpp>
14+
#include <sycl/sycl_span.hpp>
1415

1516
namespace sycl {
1617
inline namespace _V1 {

sycl/include/sycl/ext/oneapi/experimental/opportunistic_group.hpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,16 @@
99
#pragma once
1010

1111
#include <sycl/aspects.hpp>
12-
#include <sycl/detail/pi.h> // for PI_ERROR_INVALID_DEVICE
13-
#include <sycl/detail/type_traits.hpp> // for is_group, is_user_cons...
14-
#include <sycl/exception.hpp> // for runtime_error
12+
#include <sycl/detail/pi.h> // for PI_ERROR_INVALID_DEVICE
13+
#include <sycl/detail/type_traits.hpp> // for is_group, is_user_cons...
14+
#include <sycl/exception.hpp> // for runtime_error
15+
#include <sycl/ext/oneapi/experimental/non_uniform_groups.hpp>
16+
#include <sycl/ext/oneapi/free_function_queries.hpp> // for this_sub_group
1517
#include <sycl/ext/oneapi/sub_group_mask.hpp> // for sub_group_mask
1618
#include <sycl/id.hpp> // for id
1719
#include <sycl/memory_enums.hpp> // for memory_scope
1820
#include <sycl/range.hpp> // for range
21+
#include <sycl/sub_group.hpp>
1922

2023
#include <stdint.h> // for uint32_t
2124
#include <type_traits> // for true_type

0 commit comments

Comments
 (0)