Hi Jonathan

Thanks so much for implementing this.

There are a couple of typos in the patch description:
's/C==17RandomAccessIterator/Cpp17RandomAccessIterator/' and
's/__or_/__and_/'.

I've applied your patch localy and it works fine for all my use cases,
which admitedly simply consist of using views::zip and views::enumerate
with std::for_each. My tbb version is 2020.1.


Unrelated to your patch, with GCC 14, I'm getting a ton of notes for code
like:

void f(std::vector<int> &v)
  { std::for_each(std::execution::par, v.begin(), v.end(), [](int &i) { i
*= 2; }); }

indicating that some internal functions are not vectorized.

I very much like getting warnings if an algorithm happens to fall back to
its serial version, but in this case I didn't even asked for (unseq)
vectorization, yet I got bunch of notes: "Vectorized algorithm
unimplemented, redirected to serial" and the algorithm itself is indeed
parallelized.

The notes are so confusing that I would suggest undefining
_PSTL_USAGE_WARNINGS for G++ (in fact, I don't understand the logic that
uses this macro in pstl_config.h).

Reply via email to