| extern void abort (void); | |
| int i = 8; | |
| int main (void) | |
| { | |
| int j = 7, k = 0; | |
| #pragma omp for | |
| for (i = 0; i < 10; i++) | |
| ; | |
| #pragma omp for | |
| for (j = 0; j < 10; j++) | |
| ; | |
| /* OpenMP 3.0 newly guarantees that the original list items can't | |
| be shared with the privatized omp for iterators, even when | |
| the original list items are already private. */ | |
| if (i != 8 || j != 7) | |
| abort (); | |
| #pragma omp parallel private (i) reduction (+:k) | |
| { | |
| i = 6; | |
| #pragma omp for | |
| for (i = 0; i < 10; i++) | |
| ; | |
| k = (i != 6); | |
| } | |
| if (k) | |
| abort (); | |
| return 0; | |
| } |