Daily bump.
[official-gcc.git] / libgomp / testsuite / libgomp.c / pr64734.c
blob457f481ae0bd8644b9e1e6b66767ffca93d5e395
1 /* PR middle-end/64734 */
3 #include <stdlib.h>
5 void
6 foo (int *x, int *y)
8 #pragma omp target map (alloc:x[0]) map (alloc:y[0:8])
10 int i;
11 for (i = 0; i < 8; i++)
12 if (y[i] != 2 + i)
13 break;
14 if (i != 8 || *x != 1)
15 *x = 6;
16 else
18 *x = 8;
19 for (i = 0; i < 8; i++)
20 y[i] = 9 + i;
23 #pragma omp target update from (y[0:8]) from (x[0])
26 void
27 bar (void)
29 int x = 1, y[32] = { 0 };
30 #pragma omp target data map (to:y[0:32]) map (to:x)
34 int
35 main ()
37 int x = 1, y[8] = { 2, 3, 4, 5, 6, 7, 8, 9 }, i;
38 #pragma omp target data map (to:y[0:8]) map (to:x)
40 #pragma omp target data map (to:y[0:8]) map (to:x)
42 #pragma omp target update from (y[0:8]) from (x)
45 #pragma omp target data map (to:y[0:8]) map (to:x)
46 foo (&x, &y[0]);
48 if (x != 8)
49 abort ();
50 for (i = 0; i < 8; i++)
51 if (y[i] != 9 + i)
52 abort ();
54 return 0;