! RUN: %python %S/../test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.15.3.5 lastprivate Clause ! A variable that appears in a lastprivate clause must be definable. module protected_var integer, protected :: p end module protected_var program omp_lastprivate use protected_var integer :: i, a(10), b(10), c(10) integer, parameter :: k = 10 a = 10 b = 20 !ERROR: Variable 'k' on the LASTPRIVATE clause is not definable !BECAUSE: 'k' is not a variable !$omp parallel do lastprivate(k) do i = 1, 10 c(i) = a(i) + b(i) + k end do !$omp end parallel do !ERROR: Variable 'p' on the LASTPRIVATE clause is not definable !BECAUSE: 'p' is protected in this scope !$omp parallel do lastprivate(p) do i = 1, 10 c(i) = a(i) + b(i) + k end do !$omp end parallel do call omp_lastprivate_sb(i) print *, c end program omp_lastprivate subroutine omp_lastprivate_sb(m) integer :: i, a(10), b(10), c(10) integer, intent(in) :: m a = 10 b = 20 !ERROR: Variable 'm' on the LASTPRIVATE clause is not definable !BECAUSE: 'm' is an INTENT(IN) dummy argument !$omp parallel do lastprivate(m) do i = 1, 10 c(i) = a(i) + b(i) + m end do !$omp end parallel do print *, c end subroutine omp_lastprivate_sb