| /* PR middle-end/70680 */ |
| |
| int v; |
| |
| void |
| f1 (void) |
| { |
| int i = 0, j = 0; |
| #pragma omp task default(shared) if(0) |
| { |
| #pragma omp simd collapse(2) |
| for (i = 0; i < 10; i++) |
| for (j = 0; j < 10; j++) |
| ; |
| v = i + j; |
| } |
| if (i != 10 || j != 10) |
| __builtin_abort (); |
| } |
| |
| void |
| f2 (void) |
| { |
| int i = 0, j = 0; |
| #pragma omp task default(shared) if(0) |
| { |
| #pragma omp simd collapse(2) |
| for (i = 0; i < 10; i++) |
| for (j = 0; j < 10; j++) |
| ; |
| } |
| if (i != 10 || j != 10) |
| __builtin_abort (); |
| } |
| |
| void |
| f3 (void) |
| { |
| int i = 0, j = 0; |
| #pragma omp task default(shared) if(0) |
| { |
| #pragma omp simd collapse(2) lastprivate (i, j) |
| for (i = 0; i < 10; i++) |
| for (j = 0; j < 10; j++) |
| ; |
| v = i + j; |
| } |
| if (i != 10 || j != 10) |
| __builtin_abort (); |
| } |
| |
| void |
| f4 (void) |
| { |
| int i = 0, j = 0; |
| #pragma omp task default(shared) if(0) |
| { |
| #pragma omp simd collapse(2) lastprivate (i, j) |
| for (i = 0; i < 10; i++) |
| for (j = 0; j < 10; j++) |
| ; |
| } |
| if (i != 10 || j != 10) |
| __builtin_abort (); |
| } |
| |
| int |
| main () |
| { |
| f1 (); |
| if (v++ != 20) |
| __builtin_abort (); |
| f2 (); |
| f3 (); |
| if (v++ != 20) |
| __builtin_abort (); |
| f4 (); |
| return 0; |
| } |