/* PR middle-end/83977 */ /* { dg-do compile } */ void bar (void); #pragma omp declare simd uniform (b) linear(a:b) int foo (int a, int b) { a = a + 1; /* This function can't be called from simd loops, because it violates declare simd restrictions. We shouldn't ICE on it though, nor attempt to generate simd clones for the *omp_fn* functions. */ #pragma omp parallel bar (); return a; }