7 int a
= 0, b
= 0, c
= 0, d
[7];
12 #pragma omp task depend(out: d[0])
15 #pragma omp target enter data nowait map(to: a,b,c) depend(in: d[0]) depend(out: d[1])
17 #pragma omp target nowait map(alloc: a) depend(in: d[1]) depend(out: d[2])
20 #pragma omp target nowait map(alloc: b) depend(in: d[2]) depend(out: d[3])
23 #pragma omp atomic update
27 #pragma omp target nowait map(alloc: b) depend(in: d[2]) depend(out: d[4])
30 #pragma omp atomic update
34 #pragma omp target nowait map(alloc: c) depend(in: d[3], d[4]) depend(out: d[5])
37 #pragma omp atomic update
41 #pragma omp target nowait map(alloc: c) depend(in: d[3], d[4]) depend(out: d[6])
44 #pragma omp atomic update
48 #pragma omp target exit data map(always,from: a,b,c) depend(in: d[5], d[6])
51 if (a
!= 3 || b
!= 5 || c
!= 10)