xref: /llvm-project/flang/test/Semantics/OpenMP/doacross.f90 (revision b08b252a023eeead07b3e77ce799c3a7d783a0b3)
1*b08b252aSKrzysztof Parzyszek!RUN: %python %S/../test_errors.py %s %flang -fopenmp -fopenmp-version=52
2*b08b252aSKrzysztof Parzyszek
3*b08b252aSKrzysztof Parzyszeksubroutine f00(x)
4*b08b252aSKrzysztof Parzyszek  integer :: x(10, 10)
5*b08b252aSKrzysztof Parzyszek  !$omp do ordered(2)
6*b08b252aSKrzysztof Parzyszek  do i = 1, 10
7*b08b252aSKrzysztof Parzyszek    do j = 1, 10
8*b08b252aSKrzysztof Parzyszek!ERROR: Duplicate variable 'i' in the iteration vector
9*b08b252aSKrzysztof Parzyszek      !$omp ordered doacross(sink: i+1, i-2)
10*b08b252aSKrzysztof Parzyszek      x(i, j) = 0
11*b08b252aSKrzysztof Parzyszek    enddo
12*b08b252aSKrzysztof Parzyszek  enddo
13*b08b252aSKrzysztof Parzyszek  !$omp end do
14*b08b252aSKrzysztof Parzyszekend
15*b08b252aSKrzysztof Parzyszek
16*b08b252aSKrzysztof Parzyszeksubroutine f01(x)
17*b08b252aSKrzysztof Parzyszek  integer :: x(10, 10)
18*b08b252aSKrzysztof Parzyszek  do i = 1, 10
19*b08b252aSKrzysztof Parzyszek    !$omp do ordered(1)
20*b08b252aSKrzysztof Parzyszek    do j = 1, 10
21*b08b252aSKrzysztof Parzyszek!ERROR: The iteration vector element 'i' is not an induction variable within the ORDERED loop nest
22*b08b252aSKrzysztof Parzyszek      !$omp ordered doacross(sink: i+1)
23*b08b252aSKrzysztof Parzyszek      x(i, j) = 0
24*b08b252aSKrzysztof Parzyszek    enddo
25*b08b252aSKrzysztof Parzyszek    !$omp end do
26*b08b252aSKrzysztof Parzyszek  enddo
27*b08b252aSKrzysztof Parzyszekend
28*b08b252aSKrzysztof Parzyszek
29