diff --git a/sycl/test-e2e/Basic/vector/int-convert.cpp b/sycl/test-e2e/Basic/vector/int-convert.cpp index c06a007d7495a..a1449c9a0c57d 100644 --- a/sycl/test-e2e/Basic/vector/int-convert.cpp +++ b/sycl/test-e2e/Basic/vector/int-convert.cpp @@ -55,7 +55,7 @@ bool check_vectors_equal(sycl::vec a, sycl::vec b, return result; } -template bool check_convert() { +template bool check_convert(sycl::queue q) { sycl::vec input; if constexpr (std::is_signed_v) { input = sycl::vec{static_cast(37), static_cast(0), @@ -68,7 +68,6 @@ template bool check_convert() { sycl::vec hostResult = input.template convert(); sycl::buffer> buf(sycl::range{1}); - sycl::queue q; q.submit([&](sycl::handler &cgh) { sycl::accessor acc(buf, cgh); cgh.single_task([=]() { acc[0] = input.template convert(); }); @@ -106,53 +105,55 @@ constexpr auto has_unsigned_v = std::is_integral_v && !std::is_same_v && !std::is_same_v && !std::is_same_v; -template bool check_signed_unsigned_convert_to() { +template +bool check_signed_unsigned_convert_to(sycl::queue q) { bool pass = true; - pass &= check_convert(); + pass &= check_convert(q); if constexpr (has_unsigned_v) - pass &= check_convert>(); + pass &= check_convert>(q); if constexpr (has_unsigned_v) - pass &= check_convert, To>(); + pass &= check_convert, To>(q); if constexpr (has_unsigned_v && has_unsigned_v) pass &= - check_convert, std::make_unsigned_t>(); + check_convert, std::make_unsigned_t>(q); return pass; } -template bool check_convert_from() { +template bool check_convert_from(sycl::queue q) { bool pass = true; - pass &= check_signed_unsigned_convert_to(); - pass &= check_signed_unsigned_convert_to(); - pass &= check_signed_unsigned_convert_to(); - pass &= check_signed_unsigned_convert_to(); - pass &= check_signed_unsigned_convert_to(); - pass &= check_signed_unsigned_convert_to(); - pass &= check_signed_unsigned_convert_to(); - pass &= check_signed_unsigned_convert_to(); - pass &= check_signed_unsigned_convert_to(); - pass &= check_signed_unsigned_convert_to(); - pass &= check_signed_unsigned_convert_to(); - pass &= check_signed_unsigned_convert_to(); - pass &= check_signed_unsigned_convert_to(); + pass &= check_signed_unsigned_convert_to(q); + pass &= check_signed_unsigned_convert_to(q); + pass &= check_signed_unsigned_convert_to(q); + pass &= check_signed_unsigned_convert_to(q); + pass &= check_signed_unsigned_convert_to(q); + pass &= check_signed_unsigned_convert_to(q); + pass &= check_signed_unsigned_convert_to(q); + pass &= check_signed_unsigned_convert_to(q); + pass &= check_signed_unsigned_convert_to(q); + pass &= check_signed_unsigned_convert_to(q); + pass &= check_signed_unsigned_convert_to(q); + pass &= check_signed_unsigned_convert_to(q); + pass &= check_signed_unsigned_convert_to(q); return pass; } int main() { + sycl::queue q; bool pass = true; - pass &= check_convert_from(); - pass &= check_convert_from(); - pass &= check_convert_from(); - pass &= check_convert_from(); - pass &= check_convert_from(); - pass &= check_convert_from(); - pass &= check_convert_from(); - pass &= check_convert_from(); - pass &= check_convert_from(); - pass &= check_convert_from(); - pass &= check_convert_from(); - pass &= check_convert_from(); - pass &= check_convert_from(); + pass &= check_convert_from(q); + pass &= check_convert_from(q); + pass &= check_convert_from(q); + pass &= check_convert_from(q); + pass &= check_convert_from(q); + pass &= check_convert_from(q); + pass &= check_convert_from(q); + pass &= check_convert_from(q); + pass &= check_convert_from(q); + pass &= check_convert_from(q); + pass &= check_convert_from(q); + pass &= check_convert_from(q); + pass &= check_convert_from(q); return static_cast(!pass); }