1 // RUN: %libomp-compile-and-run
3 // The test checks nonmonotonic scheduling works correctly when threads
4 // may execute different loops concurrently.
13 int i
, l0
= 0, l1
= 0;
14 #pragma omp parallel num_threads(8)
16 #pragma omp for schedule(nonmonotonic:dynamic,C) nowait
17 for (i
= 0; i
< N
; ++i
) {
21 #pragma omp for schedule(nonmonotonic:dynamic,C) nowait
22 for (i
= 0; i
< N
* N
; ++i
) {
27 if (l0
!= N
|| l1
!= N
* N
) {
28 printf("failed l0 = %d, l1 = %d, should be %d %d\n", l0
, l1
, N
, N
* N
);