| /* { dg-do compile } */ |
| |
| void |
| foo (int a, int b, int *p, int *q) |
| { |
| int i; |
| #pragma omp parallel if (a) |
| ; |
| #pragma omp parallel if (parallel:a) |
| ; |
| #pragma omp parallel for simd if (a) |
| for (i = 0; i < 16; i++) |
| ; |
| #pragma omp parallel for simd if (parallel : a) |
| for (i = 0; i < 16; i++) |
| ; |
| #pragma omp parallel for simd if (simd : a) |
| for (i = 0; i < 16; i++) |
| ; |
| #pragma omp parallel for simd if (simd : a) if (parallel:b) |
| for (i = 0; i < 16; i++) |
| ; |
| #pragma omp task if (a) |
| ; |
| #pragma omp task if (task: a) |
| ; |
| #pragma omp taskloop if (a) |
| for (i = 0; i < 16; i++) |
| ; |
| #pragma omp taskloop if (taskloop : a) |
| for (i = 0; i < 16; i++) |
| ; |
| #pragma omp taskloop simd if (a) |
| for (i = 0; i < 16; i++) |
| ; |
| #pragma omp taskloop simd if (taskloop : a) |
| for (i = 0; i < 16; i++) |
| ; |
| #pragma omp taskloop simd if (simd : a) |
| for (i = 0; i < 16; i++) |
| ; |
| #pragma omp taskloop simd if (taskloop:b) if (simd : a) |
| for (i = 0; i < 16; i++) |
| ; |
| #pragma omp target if (a) |
| ; |
| #pragma omp target if (target: a) |
| ; |
| #pragma omp target simd if (a) |
| for (i = 0; i < 16; i++) |
| ; |
| #pragma omp target simd if (simd : a) if (target: b) |
| for (i = 0; i < 16; i++) |
| ; |
| #pragma omp target teams distribute parallel for simd if (a) |
| for (i = 0; i < 16; i++) |
| ; |
| #pragma omp target teams distribute parallel for simd if (parallel : a) if (target: b) |
| for (i = 0; i < 16; i++) |
| ; |
| #pragma omp target teams distribute parallel for simd if (simd : a) if (target: b) |
| for (i = 0; i < 16; i++) |
| ; |
| #pragma omp target data if (a) map (p[0:2]) |
| ; |
| #pragma omp target data if (target data: a) map (p[0:2]) |
| ; |
| #pragma omp target enter data if (a) map (to: p[0:2]) |
| #pragma omp target enter data if (target enter data: a) map (to: p[0:2]) |
| #pragma omp target exit data if (a) map (from: p[0:2]) |
| #pragma omp target exit data if (target exit data: a) map (from: p[0:2]) |
| #pragma omp target update if (a) to (q[0:3]) |
| #pragma omp target update if (target update:a) to (q[0:3]) |
| #pragma omp parallel |
| { |
| #pragma omp cancel parallel if (a) |
| } |
| #pragma omp parallel |
| { |
| #pragma omp cancel parallel if (cancel:a) |
| } |
| #pragma omp for |
| for (i = 0; i < 16; i++) |
| { |
| #pragma omp cancel for if (a) |
| } |
| #pragma omp for |
| for (i = 0; i < 16; i++) |
| { |
| #pragma omp cancel for if (cancel: a) |
| } |
| #pragma omp sections |
| { |
| #pragma omp section |
| { |
| #pragma omp cancel sections if (a) |
| } |
| } |
| #pragma omp sections |
| { |
| #pragma omp section |
| { |
| #pragma omp cancel sections if (cancel: a) |
| } |
| } |
| #pragma omp taskgroup |
| { |
| #pragma omp task |
| { |
| #pragma omp cancel taskgroup if (a) |
| } |
| #pragma omp task |
| { |
| #pragma omp cancel taskgroup if (cancel: a) |
| } |
| } |
| } |