2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
[official-gcc.git] / libgomp / testsuite / libgomp.hsa.c / gridify-3.c
blobf881d81e18ef8e0fc73530bf99360b74dae33ae4
1 #define THE_LOOP \
2 for (i = j + 1; i < n; i += 3) \
3 a[i] = i
5 void __attribute__((noinline, noclone))
6 foo (int j, int n, int *a)
8 int i;
9 #pragma omp target
10 #pragma omp teams
11 #pragma omp distribute parallel for shared(a) firstprivate(n) private(i) firstprivate(j)
12 THE_LOOP;
15 void __attribute__((noinline, noclone))
16 bar (int j, int n, int *a)
18 int i;
19 THE_LOOP;
22 int main (int argc, char **argv)
24 int n = 32;
25 int *a = __builtin_malloc (sizeof (int) * n);
26 int *ref = __builtin_malloc (sizeof (int) * n);
27 int i, j = 4;
29 __builtin_memset (a, 0, sizeof (int) * n);
30 __builtin_memset (ref, 0, sizeof (int) * n);
31 bar (j, n, ref);
32 foo (j, n, a);
33 for (i = 0; i < n; i ++)
35 if (a[i] != ref[i])
36 __builtin_abort ();
38 return 0;