blob: ab72f066c49685cf299025d4dbdf06490aea22cb [file] [log] [blame]
! PR fortran/35786
! { dg-do compile }
! { dg-options "-fopenmp" }
module pr35768
real, parameter :: one = 1.0
contains
subroutine fn1
!$omp parallel firstprivate (one) ! { dg-error "is not a variable" }
!$omp end parallel
end subroutine fn1
subroutine fn2 (doit)
external doit
!$omp parallel firstprivate (doit) ! { dg-error "is not a variable" }
call doit ()
!$omp end parallel
end subroutine fn2
subroutine fn3
interface fn4
subroutine fn4 ()
end subroutine fn4
end interface
!$omp parallel private (fn4) ! { dg-error "is not a variable" }
call fn4 ()
!$omp end parallel
end subroutine fn3
subroutine fn5
interface fn6
function fn6 ()
integer :: fn6
end function fn6
end interface
integer :: x
!$omp parallel private (fn6, x) ! { dg-error "is not a variable" }
x = fn6 ()
!$omp end parallel
end subroutine fn5
function fn7 () result (re7)
integer :: re7
!$omp parallel private (fn7) ! { dg-error "is not a variable" }
!$omp end parallel
end function fn7
function fn8 () result (re8)
integer :: re8
call fn9
contains
subroutine fn9
!$omp parallel private (fn8) ! { dg-error "is not a variable" }
!$omp end parallel
end subroutine fn9
end function fn8
function fn10 () result (re10)
integer :: re10, re11
entry fn11 () result (re11)
!$omp parallel private (fn10) ! { dg-error "is not a variable" }
!$omp end parallel
!$omp parallel private (fn11) ! { dg-error "is not a variable" }
!$omp end parallel
end function fn10
function fn12 () result (re12)
integer :: re12, re13
entry fn13 () result (re13)
call fn14
contains
subroutine fn14
!$omp parallel private (fn12) ! { dg-error "is not a variable" }
!$omp end parallel
!$omp parallel private (fn13) ! { dg-error "is not a variable" }
!$omp end parallel
end subroutine fn14
end function fn12
end module