| ! RUN: %python %S/test_errors.py %s %flang -fopenmp |
| ! 2.7.4 workshare Construct |
| ! Checks for OpenMP Parallel constructs enclosed in Workshare constructs |
| module procedure work_assign |
| subroutine work_assign(a,b) |
| integer, intent(out) :: a |
| logical, intent(in) :: b(:) |
| end subroutine work_assign |
| integer function my_func() |
| integer, parameter :: n = 10 |
| integer :: i, j, a(10), b(10) |
| real :: aa(n,n), bb(n,n), cc(n,n), dd(n,n), ee(n,n), ff(n,n) |
| !ERROR: A worksharing region may not be closely nested inside a worksharing, explicit task, taskloop, critical, ordered, atomic, or master region |
| !$omp end parallel sections |
| where (dd .lt. 5) dd = aa * my_func() |
| end program omp_workshare |