| #include <stdlib.h> | |
| #define n 10000 | |
| unsigned int a[n]; | |
| void __attribute__((noinline,noclone)) | |
| foo (void) | |
| { | |
| int i; | |
| unsigned int sum = 1; | |
| #pragma acc kernels copyin (a[0:n]) copy (sum) | |
| { | |
| for (i = 0; i < n; ++i) | |
| sum += a[i]; | |
| } | |
| if (sum != 5001) | |
| abort (); | |
| } | |
| int | |
| main () | |
| { | |
| int i; | |
| for (i = 0; i < n; ++i) | |
| a[i] = i % 2; | |
| foo (); | |
| return 0; | |
| } |