https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70436
--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> --- They should be. if (x) #pragma omp for for (...) if (y) ... else ... and #pragma omp simd and #pragma omp taskloop too. For C++, perhaps we could just pass around if_p argument to a few more parsing functions.