diff --git a/sycl/test-e2e/DeviceLib/math_fp64_windows_test.cpp b/sycl/test-e2e/DeviceLib/math_fp64_windows_test.cpp index b30ae8983b407..84c24cf28b988 100644 --- a/sycl/test-e2e/DeviceLib/math_fp64_windows_test.cpp +++ b/sycl/test-e2e/DeviceLib/math_fp64_windows_test.cpp @@ -9,7 +9,7 @@ #include "math_utils.hpp" #include #include -#include +#include namespace s = sycl; constexpr s::access::mode sycl_read = s::access::mode::read; diff --git a/sycl/test-e2e/DeviceLib/math_windows_test.cpp b/sycl/test-e2e/DeviceLib/math_windows_test.cpp index dbd2341c26586..1f8c2ec53dfbb 100644 --- a/sycl/test-e2e/DeviceLib/math_windows_test.cpp +++ b/sycl/test-e2e/DeviceLib/math_windows_test.cpp @@ -8,7 +8,7 @@ #include "math_utils.hpp" #include #include -#include +#include namespace s = sycl; constexpr s::access::mode sycl_read = s::access::mode::read; diff --git a/sycl/test-e2e/QueueFlushing/queue_flushing.cpp b/sycl/test-e2e/QueueFlushing/queue_flushing.cpp index d0588d9d0001e..24e3399cad5a6 100644 --- a/sycl/test-e2e/QueueFlushing/queue_flushing.cpp +++ b/sycl/test-e2e/QueueFlushing/queue_flushing.cpp @@ -2,7 +2,7 @@ // RUN: %t.out #include -#include +#include #include using namespace sycl; diff --git a/sycl/test-e2e/README.md b/sycl/test-e2e/README.md index d1dbe5c128435..3767fe226f452 100644 --- a/sycl/test-e2e/README.md +++ b/sycl/test-e2e/README.md @@ -291,10 +291,13 @@ llvm-lit --param dpcpp_compiler=path/to/clang++ --param dump_ir=True \ While SYCL specification dictates that the only user-visible interface is `` header file we found out that as the implementation and multiple extensions grew, the compile time was getting worse and worse, -negatively affecting our CI turnaround time. We are just starting some efforts -to create a much smaller set of basic feature needed for every SYCL end-to-end -test/program so that this issue could be somewhat mitigated. This activity is in -its early stage and NO production code should rely on it. It WILL be changed as -we go with our experiments. For any code outside of this project only the -`` must be used until we feel confident to propose an extension -that can provide an alternative. +negatively affecting our CI turnaround time. As such, we decided to use +finer-grained includes for the end-to-end tests used in this project (under +`sycl/test-e2e/` folder). + +At this moment all the tests have been updated to include a limited set of +headers only. However, the work of eliminating unnecessary dependencies between +implementation header files is still in progress and the final set of these +"fine-grained" includes that might be officially documented and suggested for +customers to use isn't determined yet. **Until then, code outside of this project +must keep using `` provided by the SYCL2020 specification.** diff --git a/sycl/test-e2e/Regression/compile_on_win_with_mdd.cpp b/sycl/test-e2e/Regression/compile_on_win_with_mdd.cpp index 64a962d20f448..f33000f22f269 100644 --- a/sycl/test-e2e/Regression/compile_on_win_with_mdd.cpp +++ b/sycl/test-e2e/Regression/compile_on_win_with_mdd.cpp @@ -10,7 +10,7 @@ // the compile line. In that case, user application will crash during launching // with abort() message. -#include +#include #include diff --git a/sycl/test-e2e/SubGroup/generic_reduce.cpp b/sycl/test-e2e/SubGroup/generic_reduce.cpp index 819e9ce8222b8..e158663479ed9 100644 --- a/sycl/test-e2e/SubGroup/generic_reduce.cpp +++ b/sycl/test-e2e/SubGroup/generic_reduce.cpp @@ -9,7 +9,8 @@ #include "helper.hpp" #include -#include +#include +#include using namespace sycl; diff --git a/sycl/test-e2e/no_sycl_hpp_in_e2e_tests.cpp b/sycl/test-e2e/no_sycl_hpp_in_e2e_tests.cpp new file mode 100644 index 0000000000000..7b2aa6b3b5883 --- /dev/null +++ b/sycl/test-e2e/no_sycl_hpp_in_e2e_tests.cpp @@ -0,0 +1,14 @@ +// REQUIRES: linux +// +// RUN: grep -r -l 'sycl.hpp' %S | FileCheck %s +// RUN: grep -r -l 'sycl.hpp' %S | wc -l | FileCheck %s --check-prefix CHECK-NUM-MATCHES +// +// CHECK-DAG: README.md +// CHECK-DAG: no_sycl_hpp_in_e2e_tests.cpp +// CHECK-DAG: lit.cfg.py +// +// CHECK-NUM-MATCHES: 3 +// +// This test verifies that `` isn't used in E2E tests. Instead, +// fine-grained includes should used, see +// https://github.com/intel/llvm/tree/sycl/sycl/test-e2e#sycldetailcorehpp