xref: /llvm-project/flang/test/Semantics/OpenMP/do-ordered-positivecases.f90 (revision 502bea25bdc07d1811b8bfea1c2e6bfa8617f72f)
1!RUN: %python %S/../test_errors.py %s %flang -fopenmp
2! OpenMP Version 4.5
3! 2.7.1 Ordered Clause positive cases.
4
5!DEF: /omp_doordered MainProgram
6program omp_doordered
7  !DEF: /omp_doordered/i ObjectEntity INTEGER(4)
8  !DEF: /omp_doordered/j ObjectEntity INTEGER(4)
9  integer i, j
10  !$omp do  ordered(2)
11  !DEF: /omp_doordered/Block1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
12  do i=1,10
13    !DEF: /omp_doordered/Block1/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
14    do j=1,10
15      print *, "hello"
16    end do
17  end do
18  !$omp end do
19
20  !REF: /omp_doordered/i
21  do i=1,10
22    !REF: /omp_doordered/j
23    do j=1,10
24      !$omp do  ordered(1)
25      !DEF: /omp_doordered/Block2/k (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
26      do k=1,10
27        print *, "hello"
28      end do
29      !$omp end do
30    end do
31  end do
32
33  !$omp do ordered
34  !DEF: /omp_doordered/Block3/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
35  do i=1,10
36    !$omp ordered
37    !REF: /omp_doordered/j
38    do j=1,10
39      print *, "hello"
40    end do
41    !$omp end ordered
42  end do
43  !$omp end do
44
45  !$omp do  collapse(1) ordered(2)
46  !DEF: /omp_doordered/Block4/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
47  do i=1,10
48    !DEF: /omp_doordered/Block4/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
49    do j=1,10
50      print *, "hello"
51    end do
52  end do
53  !$omp end do
54
55  !$omp parallel  num_threads(4)
56  !$omp do ordered collapse(1)
57  !DEF: /omp_doordered/Block5/Block1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
58  do i=1,10
59    !$omp ordered
60    !DEF: /omp_doordered/Block5/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
61    do j=1,10
62      print *, "hello"
63    end do
64    !$omp end ordered
65  end do
66  !$omp end parallel
67end program omp_doordered
68