/* PR middle-end/83977 */ | |
/* { dg-do compile } */ | |
void bar (void); | |
int foo (int, int) __attribute__((used)); | |
#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; | |
} | |
int foo (int, int) __attribute__((unused)); |