subroutine foo (i, a) implicit none integer, value :: i integer :: a(:) integer :: j j = 7 !$omp assume no_openmp, absent (target, teams,target) holds (i < 32) holds (i < 32_2) ! { dg-error "'TARGET' directive mentioned multiple times in ABSENT clause in !.OMP ASSUME directive" } ! !$omp end assume - silence: 'Unexpected !$OMP END ASSUME statement' !$omp assume no_openmp_routines, contains (simd) contains ( simd ) ! { dg-error "'SIMD' directive mentioned multiple times in CONTAINS clause in !.OMP ASSUME directive" } block !$omp simd do j = 1, i a(i) = j end do end block !$omp assume no_parallelism, contains (error) absent (error) ! { dg-error "'ERROR' directive mentioned both times in ABSENT and CONTAINS clauses in !.OMP ASSUME directive" } if (i >= 32) then !$omp error at (execution) message ("Should not happen") end if ! !$omp end assume - silence: 'Unexpected !$OMP END ASSUME statement' !$omp assume holds (1.0) ! { dg-error "HOLDS expression at .1. must be a logical expression" } !$omp end assume end