| 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; |
| } |