diff --git a/sycl/source/detail/kernel_compiler/kernel_compiler_opencl.cpp b/sycl/source/detail/kernel_compiler/kernel_compiler_opencl.cpp index 97efa23549a43..0512b8233700d 100644 --- a/sycl/source/detail/kernel_compiler/kernel_compiler_opencl.cpp +++ b/sycl/source/detail/kernel_compiler/kernel_compiler_opencl.cpp @@ -6,8 +6,8 @@ // //===----------------------------------------------------------------------===// -#include // getOsLibraryFuncAddress -#include // make_error_code +#include // getOsLibraryFuncAddress +#include // make_error_code #include "kernel_compiler_opencl.hpp" @@ -368,9 +368,11 @@ std::string OpenCLC_Profile(uint32_t IPVersion) { std::string result = InvokeOclocQuery(IPVersion, "CL_DEVICE_PROFILE"); // NOTE: result has \n\n amended. Clean it up. // TODO: remove this once the ocloc query is fixed. - while (result.back() == '\n') { - result.pop_back(); - } + result.erase(std::remove_if(result.begin(), result.end(), + [](char c) { + return !std::isprint(c) || std::isspace(c); + }), + result.end()); return result; } catch (sycl::exception &) { diff --git a/sycl/test-e2e/KernelCompiler/opencl_queries.cpp b/sycl/test-e2e/KernelCompiler/opencl_queries.cpp index de141389b0533..e37c12f2c2382 100644 --- a/sycl/test-e2e/KernelCompiler/opencl_queries.cpp +++ b/sycl/test-e2e/KernelCompiler/opencl_queries.cpp @@ -9,9 +9,6 @@ // REQUIRES: ocloc && (opencl || level_zero) // UNSUPPORTED: accelerator -// Fails with opencl and level_zero on linux, enable when fixed. -// XFAIL: opencl || (linux && level_zero) - // RUN: %{build} -o %t.out // RUN: %{run} %t.out @@ -48,11 +45,16 @@ int main() { assert(d.ext_oneapi_cl_profile() == "FULL_PROFILE" && "unexpected cl_profile"); - assert(syclex::opencl_c_1_0.major == 1 && syclex::opencl_c_1_0.minor == 0 && syclex::opencl_c_1_0.patch == 0); - assert(syclex::opencl_c_1_1.major == 1 && syclex::opencl_c_1_1.minor == 1 && syclex::opencl_c_1_1.patch == 0); - assert(syclex::opencl_c_1_2.major == 1 && syclex::opencl_c_1_2.minor == 2 && syclex::opencl_c_1_2.patch == 0); - assert(syclex::opencl_c_2_0.major == 2 && syclex::opencl_c_2_0.minor == 0 && syclex::opencl_c_2_0.patch == 0); - assert(syclex::opencl_c_3_0.major == 3 && syclex::opencl_c_3_0.minor == 0 && syclex::opencl_c_3_0.patch == 0); + assert(syclex::opencl_c_1_0.major == 1 && syclex::opencl_c_1_0.minor == 0 && + syclex::opencl_c_1_0.patch == 0); + assert(syclex::opencl_c_1_1.major == 1 && syclex::opencl_c_1_1.minor == 1 && + syclex::opencl_c_1_1.patch == 0); + assert(syclex::opencl_c_1_2.major == 1 && syclex::opencl_c_1_2.minor == 2 && + syclex::opencl_c_1_2.patch == 0); + assert(syclex::opencl_c_2_0.major == 2 && syclex::opencl_c_2_0.minor == 0 && + syclex::opencl_c_2_0.patch == 0); + assert(syclex::opencl_c_3_0.major == 3 && syclex::opencl_c_3_0.minor == 0 && + syclex::opencl_c_3_0.patch == 0); return 0; }