| /* { dg-do compile } */ |
| /* { dg-options "-fopenmp" } */ |
| |
| void |
| foo (void) |
| { |
| int i; |
| #pragma omp for simd schedule (simd, simd: static, 5) |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for simd schedule (monotonic, simd: static) |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for simd schedule (simd , monotonic : static, 6) |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for schedule (monotonic, monotonic : static, 7) |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for schedule (nonmonotonic, nonmonotonic : dynamic) |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for simd schedule (nonmonotonic , simd : dynamic, 3) |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for simd schedule (nonmonotonic,simd:guided,4) |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for schedule (monotonic: static, 2) |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for schedule (monotonic : static) |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for schedule (monotonic : dynamic) |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for schedule (monotonic : dynamic, 3) |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for schedule (monotonic : guided) |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for schedule (monotonic : guided, 7) |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for schedule (monotonic : runtime) |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for schedule (monotonic : auto) |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for schedule (nonmonotonic : dynamic) |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for schedule (nonmonotonic : dynamic, 3) |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for schedule (nonmonotonic : guided) |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for schedule (nonmonotonic : guided, 7) |
| for (i = 0; i < 64; i++) |
| ; |
| } |
| |
| void |
| bar (void) |
| { |
| int i; |
| #pragma omp for schedule (nonmonotonic: static, 2) |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for schedule (nonmonotonic : static) |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for schedule (nonmonotonic : runtime) |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for schedule (nonmonotonic : auto) |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for schedule (nonmonotonic : static) ordered /* { dg-error ".nonmonotonic. schedule modifier specified together with .ordered. clause" } */ |
| for (i = 0; i < 64; i++) |
| #pragma omp ordered |
| ; |
| #pragma omp for ordered schedule (nonmonotonic: static, 4) /* { dg-error ".nonmonotonic. schedule modifier specified together with .ordered. clause" } */ |
| for (i = 0; i < 64; i++) |
| #pragma omp ordered |
| ; |
| #pragma omp for schedule (nonmonotonic : dynamic) ordered /* { dg-error ".nonmonotonic. schedule modifier specified together with .ordered. clause" } */ |
| for (i = 0; i < 64; i++) |
| #pragma omp ordered |
| ; |
| #pragma omp for ordered schedule(nonmonotonic : dynamic, 5) /* { dg-error ".nonmonotonic. schedule modifier specified together with .ordered. clause" } */ |
| for (i = 0; i < 64; i++) |
| #pragma omp ordered |
| ; |
| #pragma omp for schedule (nonmonotonic : guided) ordered(1) /* { dg-error ".nonmonotonic. schedule modifier specified together with .ordered. clause" } */ |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp ordered depend(sink: i - 1) |
| #pragma omp ordered depend(source) |
| } |
| #pragma omp for ordered(1) schedule(nonmonotonic : guided, 2) /* { dg-error ".nonmonotonic. schedule modifier specified together with .ordered. clause" } */ |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp ordered depend(source) |
| #pragma omp ordered depend(sink: i - 1) |
| } |
| #pragma omp for schedule(nonmonotonic : runtime) ordered(1) /* { dg-error ".nonmonotonic. schedule modifier specified together with .ordered. clause" } */ |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp ordered depend(source) |
| #pragma omp ordered depend(sink: i - 1) |
| } |
| #pragma omp for schedule (nonmonotonic , monotonic : dynamic) /* { dg-error "both .monotonic. and .nonmonotonic. modifiers specified" } */ |
| for (i = 0; i < 64; i++) |
| ; |
| #pragma omp for schedule (monotonic,nonmonotonic:dynamic) /* { dg-error "both .monotonic. and .nonmonotonic. modifiers specified" } */ |
| for (i = 0; i < 64; i++) |
| ; |
| } |