| module m |
| use iso_c_binding |
| implicit none |
| integer, parameter :: omp_depend_kind = 2*c_size_t |
| |
| integer(omp_depend_kind) :: z |
| contains |
| |
| subroutine foo |
| integer :: x, y |
| x = 0; y = 0 |
| !$omp task depend(out: omp_all_memory) |
| block; end block |
| !$omp task depend(inout: omp_all_memory) |
| block; end block |
| !$omp task depend(out: x, omp_all_memory, y) |
| block; end block |
| !$omp task depend(inout: omp_all_memory, y) |
| block; end block |
| !$omp task depend(out: x, omp_all_memory) |
| block; end block |
| !$omp depobj (z) depend (inout: omp_all_memory) |
| end |
| end |