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