subroutine foo (i, a) | |
implicit none | |
integer, value :: i | |
integer :: a(:) | |
integer :: j | |
j = 7 | |
!$omp assume no_openmp, absent (target, teams) holds (i < 32) holds (i < 32_2) | |
!$omp end assume | |
!$omp assume no_openmp_routines, contains (simd) | |
block | |
!$omp simd | |
do j = 1, i | |
a(i) = j | |
end do | |
end block | |
!$omp assume no_parallelism, contains (error) | |
if (i >= 32) then | |
!$omp error at (execution) message ("Should not happen") | |
end if | |
!$omp end assume | |
end |