1! Fortran version of PR c/67500 2! { dg-do compile } 3 4subroutine f1 5 !$omp declare simd simdlen(d) ! { dg-error "requires a scalar INTEGER expression" } 6end subroutine 7 8subroutine f2 9 !$omp declare simd simdlen(0.5) ! { dg-error "requires a scalar INTEGER expression" } 10end 11 12subroutine f3 (i) 13 !$omp declare simd simdlen(-2) ! { dg-warning "INTEGER expression of SIMDLEN clause at .1. must be positive" } 14end subroutine 15 16subroutine f4 17 !$omp declare simd simdlen(0) ! { dg-warning "INTEGER expression of SIMDLEN clause at .1. must be positive" } 18end 19 20subroutine foo(p, d, n) 21 integer, allocatable :: p(:) 22 real, value :: d 23 integer, value :: n 24 integer :: i 25 26 !$omp simd safelen(d) ! { dg-error "requires a scalar INTEGER expression" } 27 do i = 1, 16 28 end do 29 30 !$omp simd safelen(0.5) ! { dg-error "requires a scalar INTEGER expression" } 31 do i = 1, 16 32 end do 33 34 !$omp simd safelen(-2) ! { dg-warning "INTEGER expression of SAFELEN clause at .1. must be positive" } 35 do i = 1, 16 36 end do 37 38 !$omp simd safelen(0) ! { dg-warning "INTEGER expression of SAFELEN clause at .1. must be positive" } 39 do i = 1, 16 40 end do 41 42 !$omp simd aligned(p:n) ! { dg-error "requires a scalar positive constant integer alignment expression" } 43 do i = 1, 16 44 end do 45 46 !$omp simd aligned(p:0.5) ! { dg-error "requires a scalar positive constant integer alignment expression" } 47 do i = 1, 16 48 end do 49 50 !$omp simd aligned(p:-2) ! { dg-error "requires a scalar positive constant integer alignment expression" } 51 do i = 1, 16 52 end do 53 54 !$omp simd aligned(p:0) ! { dg-error "requires a scalar positive constant integer alignment expression" } 55 do i = 1, 16 56 end do 57end 58