! RUN: %python %S/../test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! Variables that appear in expressions for statement function definitions ! may not appear in private, firstprivate or lastprivate clauses. subroutine stmt_function(temp) integer :: i, p, q, r real :: c, f, s, v, t(10) real, intent(in) :: temp c(temp) = p * (temp - q) / r f(temp) = q + (temp * r/p) v(temp) = c(temp) + f(temp)/2 - s p = 5 q = 32 r = 9 !ERROR: Variable 'p' in statement function expression cannot be in a PRIVATE clause !$omp parallel private(p) s = c(temp) !$omp end parallel !ERROR: Variable 's' in statement function expression cannot be in a FIRSTPRIVATE clause !$omp parallel firstprivate(s) s = s + f(temp) !$omp end parallel !ERROR: Variable 's' in statement function expression cannot be in a LASTPRIVATE clause !$omp parallel do lastprivate(s, t) do i = 1, 10 t(i) = v(temp) + i - s end do !$omp end parallel do print *, t end subroutine stmt_function