| #ifdef __cplusplus | |
| extern "C" | |
| #else | |
| extern | |
| #endif | |
| void abort (void); | |
| int | |
| main (void) | |
| { | |
| #define N 5 | |
| int array[N][N]; | |
| for (int i = 0; i < N; i++) | |
| { | |
| #pragma omp target enter data map(alloc: array[i:1][0:N]) | |
| #pragma omp target | |
| for (int j = 0; j < N; j++) | |
| array[i][j] = i + j; | |
| #pragma omp target exit data map(from: array[i:1][0:N]) | |
| } | |
| for (int i = 0; i < N; i++) | |
| for (int j = 0; j < N; j++) | |
| if (array[i][j] != i + j) | |
| abort (); | |
| return 0; | |
| } |