From 9dc01b38f0f2e55fe35e9bfab5db88c1c55747d7 Mon Sep 17 00:00:00 2001 From: Konstantinos Parasyris Date: Fri, 26 Jun 2026 15:55:11 -0700 Subject: [PATCH 1/2] Include iostream in sycl.hpp to avoid compile time errors in user bases until our next breaking release --- sycl/include/sycl/sycl.hpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sycl/include/sycl/sycl.hpp b/sycl/include/sycl/sycl.hpp index 664fecf9f1184..f5549721d6dd1 100644 --- a/sycl/include/sycl/sycl.hpp +++ b/sycl/include/sycl/sycl.hpp @@ -32,6 +32,17 @@ can be disabled by setting SYCL_DISABLE_FSYCL_SYCLHPP_WARNING macro.") #undef __SYCL_TOSTRING #undef __SYCL_STRINGIFY +#ifndef __INTEL_PREVIEW_BREAKING_CHANGES +// OV team requires sycl headers to be iostream-free, SYCL is +// not a iostream "provider", however we used to include iostream in some of our +// transitive headers. Customers relied on that inclusion, so we need to keep it +// for now. This is a temporary solution, and we should remove this block once +// breaking changes are allowed. OV team accesses SYCL functionality through the +// split-header khr, so they are not pulling sycl.hpp. So this is a temporary +// solution for the past customers that relied on iostream. +#include +#endif + // All SYCL macro are provided through this header #include From e2987280971fbc12ffc3750b98553996cae81053 Mon Sep 17 00:00:00 2001 From: Konstantinos Parasyris Date: Mon, 29 Jun 2026 07:09:03 -0700 Subject: [PATCH 2/2] Update iostream comment --- sycl/include/sycl/sycl.hpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/sycl/include/sycl/sycl.hpp b/sycl/include/sycl/sycl.hpp index f5549721d6dd1..37183752db8c7 100644 --- a/sycl/include/sycl/sycl.hpp +++ b/sycl/include/sycl/sycl.hpp @@ -33,13 +33,9 @@ can be disabled by setting SYCL_DISABLE_FSYCL_SYCLHPP_WARNING macro.") #undef __SYCL_STRINGIFY #ifndef __INTEL_PREVIEW_BREAKING_CHANGES -// OV team requires sycl headers to be iostream-free, SYCL is -// not a iostream "provider", however we used to include iostream in some of our -// transitive headers. Customers relied on that inclusion, so we need to keep it -// for now. This is a temporary solution, and we should remove this block once -// breaking changes are allowed. OV team accesses SYCL functionality through the -// split-header khr, so they are not pulling sycl.hpp. So this is a temporary -// solution for the past customers that relied on iostream. +// is not a iostream "provider", however iostream was included +// in some of SYCL transitive headers. Customers relied on that inclusion, so it +// should be kept for now and be removed once breaking changes are allowed. #include #endif