! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp
! OpenMP Version 4.5
! 2.7.1 Loop Construct

program omp
  integer i, j, k

  !ERROR: The value of the parameter in the COLLAPSE or ORDERED clause must not be larger than the number of nested loops following the construct.
  !$omp do  collapse(3)
  do i = 0, 10
    if (i .lt. 1) then
      !ERROR: CYCLE statement to non-innermost associated loop of an OpenMP DO construct
      cycle
    end if
    do j = 0, 10
      do k  = 0, 10
        print *, i, j, k
      end do
    end do
  end do
  !$omp end do

  !ERROR: The value of the parameter in the COLLAPSE or ORDERED clause must not be larger than the number of nested loops following the construct.
  !$omp do  collapse(3)
  do i = 0, 10
    do j = 0, 10
      if (i .lt. 1) then
        !ERROR: CYCLE statement to non-innermost associated loop of an OpenMP DO construct
        cycle
      end if
      do k  = 0, 10
        print *, i, j, k
      end do
    end do
  end do
  !$omp end do

  !!ERROR: The value of the parameter in the COLLAPSE or ORDERED clause must not be larger than the number of nested loops following the construct.
  !$omp do  collapse(2)
  foo: do i = 0, 10
    foo1: do j = 0, 10
      if (i .lt. 1) then
        !ERROR: CYCLE statement to non-innermost associated loop of an OpenMP DO construct
        cycle foo
      else if (i .gt. 3) then
        cycle foo1
      end if
      do k  = 0, 10
        print *, i, j, k
      end do
    end do foo1
  end do foo
  !$omp end do


  !ERROR: The value of the parameter in the COLLAPSE or ORDERED clause must not be larger than the number of nested loops following the construct.
  !$omp do  collapse(3)
  foo: do i = 0, 10
    foo1: do j = 0, 10
      if (i .lt. 1) then
        !ERROR: CYCLE statement to non-innermost associated loop of an OpenMP DO construct
        cycle foo
      else if (i .gt. 3) then
        !ERROR: CYCLE statement to non-innermost associated loop of an OpenMP DO construct
        cycle foo1
      end if
         foo2:  do k  = 0, 10
             print *, i, j, k
           end do foo2
         end do foo1
  end do foo
  !$omp end do

  !$omp do  ordered(3)
  foo: do i = 0, 10
    foo1: do j = 0, 10
         foo2:  do k  = 0, 10
           if (i .lt. 1) then
             !ERROR: CYCLE statement to non-innermost associated loop of an OpenMP DO construct
             cycle foo
           else if (i .gt. 3) then
             !ERROR: CYCLE statement to non-innermost associated loop of an OpenMP DO construct
             cycle foo1
          else
             !ERROR: CYCLE statement to non-innermost associated loop of an OpenMP DO construct
             cycle foo
          end if
             print *, i, j, k
           end do foo2
         end do foo1
  end do foo
  !$omp end do

end program omp
