! 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