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