/* PR middle-end/81052 */ /* { dg-do compile } */ /* { dg-options "-fopenmp-simd -O2" } */ int foo (int x, int y) { int i; #pragma omp simd for (i = x; i < y; ++i) return 0; /* { dg-error "invalid branch to/from OpenMP structured block" } */ return 1; } #ifdef __cplusplus template T bar (T x, T y) { T i; #pragma omp simd for (i = x; i < y; ++i) return 0; /* { dg-error "invalid branch to/from OpenMP structured block" "" { target c++ } } */ return 1; } int x = bar (1, 7); #endif