https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81052
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Alexander Monakov from comment #7) > As an aside, shouldn't we issue a diagnostic here? OpenMP spec says > branching in/out of simd regions is not allowed, and I think we already > diagnose invalid branching for some other constructs. Well, normally we certainly diagnose that: template <int N> int foo (int x, int y) { int i; #pragma omp simd for (i = x; i < y; ++i) return 0; return 1; } I'll see what's going on.