diff --git a/sycl/test-e2e/Reduction/reduction_range_N_vars.cpp b/sycl/test-e2e/Reduction/reduction_range_N_vars.cpp index 5d927555b32cf..99c4e09dd7190 100644 --- a/sycl/test-e2e/Reduction/reduction_range_N_vars.cpp +++ b/sycl/test-e2e/Reduction/reduction_range_N_vars.cpp @@ -128,30 +128,22 @@ int test(queue &Q, size_t NWorkItems, RedTys... Reds) { Q.submit([&](handler &CGH) { auto InAcc = sycl::detail::make_tuple( accessor(Reds.InBuf, CGH, sycl::read_only)...); - auto SyclReds = std::forward_as_tuple(Reds.createRed(CGH)...); - std::apply( - [&](auto... SyclReds) { - CGH.parallel_for( - Range, SyclReds..., [=](id<1> It, auto &...Reducers) { - static_assert(sizeof...(Reducers) == 4 || - sizeof...(Reducers) == 2); - // No C++20, so don't have explicit template param lists in - // lambda and can't unfold std::integer_sequence to write - // generic code here. - auto ReducersTuple = std::forward_as_tuple(Reducers...); - size_t I = It.get(0); - - std::get<0>(ReducersTuple).combine(std::get<0>(InAcc)[I]); - std::get<1>(ReducersTuple).combine(std::get<1>(InAcc)[I]); - if constexpr (sizeof...(Reds) == 4) { - std::get<2>(ReducersTuple).combine(std::get<2>(InAcc)[I]); - std::get<3>(ReducersTuple).combine(std::get<3>(InAcc)[I]); - } - - return; - }); - }, - SyclReds); + CGH.parallel_for( + Range, Reds.createRed(CGH)..., [=](id<1> It, auto &...Reducers) { + static_assert(sizeof...(Reducers) == 4 || sizeof...(Reducers) == 2); + // No C++20, so don't have explicit template param lists in + // lambda and can't unfold std::integer_sequence to write + // generic code here. + auto ReducersTuple = std::forward_as_tuple(Reducers...); + size_t I = It.get(0); + + std::get<0>(ReducersTuple).combine(std::get<0>(InAcc)[I]); + std::get<1>(ReducersTuple).combine(std::get<1>(InAcc)[I]); + if constexpr (sizeof...(Reds) == 4) { + std::get<2>(ReducersTuple).combine(std::get<2>(InAcc)[I]); + std::get<3>(ReducersTuple).combine(std::get<3>(InAcc)[I]); + } + }); }).wait(); int NumErrors = (0 + ... + Reds.checkResult(Range));