https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68063
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Is that the #pragma omp parallel private (f) { f = false; #pragma omp single #pragma omp taskloop lastprivate (a, T<Q>::t, b, n) part? That indeed sounds like a data race, there should be private (r) or private (R::r) clause most likely on the taskloop.