#include <stdlib.h>

#define N 32

unsigned int
foo (int n, unsigned int *a)
{

#pragma acc kernels copy (a[0:N])
  {
    for (int i = 0; i < n; i++)
      a[i] = 1;

    a[0] = a[0] + 1;
  }

  return a[0];
}

int
main (void)
{
  unsigned int a[N];
  unsigned res, i;

  for (i = 0; i < N; ++i)
    a[i] = i % 4;

  res = foo (N, a);
  if (res != 2)
    abort ();

  return 0;
}
