blob: 1c73c149fc88708417f0bf9ff59df1f390d3b429 [file] [log] [blame]
! { dg-options "-fno-openmp -fopenmp-simd" }
subroutine test1
implicit none
integer :: i
!$omp simd
!$omp unroll ! { dg-error "Generated loop of UNROLL construct at \\\(1\\\) without PARTIAL clause does not have canonical form" }
do i = 1,100
call dummy(i)
end do
end subroutine test1
subroutine test2
implicit none
integer :: i
!$omp simd
!$omp unroll ! { dg-error "Generated loop of UNROLL construct at \\\(1\\\) without PARTIAL clause does not have canonical form" }
do i = 1,100
call dummy(i)
end do
!$omp end unroll
end subroutine test2
subroutine test3
implicit none
integer :: i
!$omp simd
!$omp unroll ! { dg-error "Generated loop of UNROLL construct at \\\(1\\\) without PARTIAL clause does not have canonical form" }
do i = 1,100
call dummy(i)
end do
!$omp end do
end subroutine test3
subroutine test4
implicit none
integer :: i
!$omp simd
!$omp unroll ! { dg-error "Generated loop of UNROLL construct at \\\(1\\\) without PARTIAL clause does not have canonical form" }
do i = 1,100
call dummy(i)
end do
!$omp end unroll
!$omp end do
end subroutine test4
subroutine test5
implicit none
integer :: i
!$omp unroll
!$omp unroll ! { dg-error "Generated loop of UNROLL construct at \\\(1\\\) without PARTIAL clause does not have canonical form" }
do i = 1,100
call dummy(i)
end do
end subroutine test5
subroutine test6
implicit none
integer :: i
!$omp unroll
!$omp unroll ! { dg-error "Generated loop of UNROLL construct at \\\(1\\\) without PARTIAL clause does not have canonical form" }
do i = 1,100
call dummy(i)
end do
!$omp end unroll
end subroutine test6
subroutine test7
implicit none
integer :: i
!$omp unroll
!$omp unroll ! { dg-error "Generated loop of UNROLL construct at \\\(1\\\) without PARTIAL clause does not have canonical form" }
do i = 1,100
call dummy(i)
end do
!$omp end unroll
!$omp end unroll
end subroutine test7
subroutine test8
implicit none
integer :: i
!$omp simd
!$omp unroll full ! { dg-error "Generated loop of UNROLL construct at \\\(1\\\) without PARTIAL clause does not have canonical form" }
do i = 1,100
call dummy(i)
end do
end subroutine test8
subroutine test9
implicit none
integer :: i
!$omp unroll full
!$omp unroll full ! { dg-error "Generated loop of UNROLL construct at \\\(1\\\) without PARTIAL clause does not have canonical form" }
do i = 1,100
call dummy(i)
end do
end subroutine test9
subroutine test10
implicit none
integer :: i,j
!$omp simd
!$omp unroll ! { dg-error "Generated loop of UNROLL construct at \\\(1\\\) without PARTIAL clause does not have canonical form" }
do i = 1,100
call dummy(i)
do j = 1,100
call dummy2(i,j)
end do
end do
end subroutine test10
subroutine test11
implicit none
integer :: i,j
!$omp simd
!$omp unroll ! { dg-error "Generated loop of UNROLL construct at \\\(1\\\) without PARTIAL clause does not have canonical form" }
do i = 1,100
!$omp unroll
!$omp unroll ! { dg-error "Generated loop of UNROLL construct at \\\(1\\\) without PARTIAL clause does not have canonical form" }
call dummy(i) ! { dg-error "Unexpected CALL statement at \\\(1\\\)" }
!$omp unroll ! { dg-error "Generated loop of UNROLL construct at \\\(1\\\) without PARTIAL clause does not have canonical form" }
do j = 1,100
call dummy2(i,j)
end do
end do
end subroutine test11
subroutine test12
implicit none
integer :: i,j
!$omp simd
!$omp unroll ! { dg-error "Generated loop of UNROLL construct at \\\(1\\\) without PARTIAL clause does not have canonical form" }
do i = 1,100
!$omp unroll
!$omp unroll ! { dg-error "Generated loop of UNROLL construct at \\\(1\\\) without PARTIAL clause does not have canonical form" }
!$omp unroll ! { dg-error "Generated loop of UNROLL construct at \\\(1\\\) without PARTIAL clause does not have canonical form" }
do j = 1,100
call dummy2(i,j)
end do
call dummy(i)
end do
end subroutine test12
subroutine test13
implicit none
integer :: i
!$omp unroll
!$omp unroll ! { dg-error "Generated loop of UNROLL construct at \\\(1\\\) without PARTIAL clause does not have canonical form" }
do i = 1,100
call dummy(i)
end do
!$omp end unroll
!$omp end unroll
!$omp end unroll ! { dg-error "Unexpected !\\\$OMP END UNROLL statement at \\\(1\\\)" }
end subroutine test13
subroutine test14
implicit none
integer :: i
!$omp simd
!$omp unroll ! { dg-error "Generated loop of UNROLL construct at \\\(1\\\) without PARTIAL clause does not have canonical form" }
!$omp unroll ! { dg-error "Generated loop of UNROLL construct at \\\(1\\\) without PARTIAL clause does not have canonical form" }
do i = 1,100
call dummy(i)
end do
!$omp end unroll
!$omp end unroll
!$omp end unroll ! { dg-error "Unexpected !\\\$OMP END UNROLL statement at \\\(1\\\)" }
end subroutine test14
subroutine test17
implicit none
integer :: i
!$omp simd
!$omp unroll partial(0) ! { dg-error "PARTIAL clause argument not constant positive integer at \\\(1\\\)" }
do i = 1,100
call dummy(i)
end do
!$omp end unroll
end subroutine test17
subroutine test18
implicit none
integer :: i
!$omp simd
!$omp unroll partial(-10) ! { dg-error "PARTIAL clause argument not constant positive integer at \\\(1\\\)" }
do i = 1,100
call dummy(i)
end do
!$omp end unroll
end subroutine test18