! RUN: %python %S/../test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.15.3.5 lastprivate Clause ! A list item that is private within a parallel region, or that appears in ! reduction clause of a parallel construct, must not appear in a ! lastprivate clause on a worksharing construct if any of the corresponding ! worksharing regions ever binds to any of the corresponding parallel regions. program omp_lastprivate integer :: a(10), b(10), c(10) a = 10 b = 20 !$omp parallel reduction(+:a) !ERROR: LASTPRIVATE variable 'a' is PRIVATE in outer context !$omp sections lastprivate(a, b) !$omp section c = a + b !$omp end sections !$omp end parallel !$omp parallel private(a,b) !ERROR: LASTPRIVATE variable 'a' is PRIVATE in outer context !ERROR: LASTPRIVATE variable 'b' is PRIVATE in outer context !$omp do lastprivate(a,b) do i = 1, 10 c(i) = a(i) + b(i) + i end do !$omp end do !$omp end parallel print *, c end program omp_lastprivate