blob: 7bb6d732add8dbe9830fbde58ada458742e15312 [file] [log] [blame]
subroutine test1
integer :: i, j, k, l
!$omp do collapse(4) private (i, j, k, l)
do i = 0, 1023 ! { dg-error "cannot be redefined inside loop" }
!$omp tile sizes (2, 2, 2)
do j = 0, 1023
!$omp tile sizes (3, 3)
do k = 0, 1023
!$omp tile sizes (4)
do i = 0, 1023 ! { dg-error "!\\\$OMP DO iteration variable used in more than one loop" }
end do ! { dg-error "cannot be redefined inside loop" "" { target *-*-* } .-1 }
end do
end do
end do
end subroutine test1
subroutine test2
integer(kind=8) :: i
integer :: j, k, l
!$omp do collapse(4) private (i, j, k, l)
do i = 0, 1023
!$omp tile sizes (2, 2, 2)
do j = 0, 1023
!$omp tile sizes (3, 3)
do k = 0, 1023
!$omp tile sizes (4)
do l = i, 1023 ! { dg-error "!\\\$OMP DO loop start expression not in canonical form" }
end do
end do
end do
end do
end subroutine test2
subroutine test3
integer :: i, j, k, l
!$omp do collapse(4) private (i, j, k, l)
do i = 0, 1023
!$omp tile sizes (2, 2, 2)
do j = 0, 1023
!$omp tile sizes (3, 3)
do k = 0, 1023
!$omp tile sizes (4)
do l = 0, 7 * i * i ! { dg-error "!\\\$OMP DO loop end expression not in canonical form" }
end do
end do
end do
end do
end subroutine test3
subroutine test4
integer :: i, j, k, l
!$omp do collapse(4) private (i, j, k, l)
do i = 0, 1023
!$omp tile sizes (2, 2, 2)
do j = 0, 1023
!$omp tile sizes (3, 3)
do k = 0, 1023
!$omp tile sizes (4)
do l = i * i, 1023 ! { dg-error "!\\\$OMP DO loop start expression not in canonical form" }
end do
end do
end do
end do
end subroutine test4
subroutine test5
integer :: i, j, k, l
!$omp do collapse(4) private (i, j, k, l)
do i = 0, 1023
!$omp tile sizes (2, 2, 2)
do j = 0, 1023
!$omp tile sizes (3, 3)
do k = 0, 1023
!$omp tile sizes (4)
do l = 0, 1023, j ! { dg-error "!\\\$OMP TILE loop increment not in canonical form" }
end do
end do
end do
end do
end subroutine test5
subroutine test6
integer :: i, j, k, l
!$omp do collapse(4) private (i, j, k, l)
do i = 0, 1023
!$omp tile sizes (2, 2, 2)
do j = 0, 1023
!$omp tile sizes (3, 3)
do k = 0, 1023
!$omp tile sizes (4)
do l = 0, i - 2 ! { dg-message "Non-rectangular loops from generated loops unsupported" }
end do
end do
end do
end do
end subroutine test6