| ! 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 |