| #include <cstdlib> | |
| #define N 10 | |
| int main (void) | |
| { | |
| int X, Y; | |
| #pragma omp target map(from: X, Y) | |
| { | |
| int x = 0, y = 0; | |
| for (int i = 0; i < N; i++) | |
| [&] (int v) { x += v; } (i); | |
| auto yinc = [&y] { y++; }; | |
| for (int i = 0; i < N; i++) | |
| yinc (); | |
| X = x; | |
| Y = y; | |
| } | |
| int Xs = 0; | |
| for (int i = 0; i < N; i++) | |
| Xs += i; | |
| if (X != Xs) | |
| abort (); | |
| if (Y != N) | |
| abort (); | |
| } |