/* { dg-do run } */ #include #define n 10 static void __attribute__((noinline)) __attribute__((noclone)) foo (int beta, int *c) { #pragma acc parallel copy(c[0:(n * n) - 1]) num_gangs(2) #pragma acc loop gang for (int j = 0; j < n; ++j) if (beta != 1) { #pragma acc loop vector for (int i = 0; i < n; ++i) c[i + (j * n)] = 0; } } int main (void) { int c[n * n]; c[0] = 1; foo (0, c); if (c[0] != 0) abort (); return 0; }