! { dg-do compile { target { fortran_integer_16 || ilp32 } } } ! omp_depend_kind = 2*intptr_t --> 16 (128 bit) on 64bit-pointer systems ! --> 8 (128 bit) on 32bit-pointer systems subroutine f1 !use omp_lib ! N/A in gcc/testsuite use iso_c_binding, only: c_intptr_t implicit none integer, parameter :: omp_depend_kind = 2*c_intptr_t integer :: a integer(kind=omp_depend_kind) :: depobj1, depobj2, depobj3, depobj4, depobj5 !$omp depobj(depobj1) depend (in : a) !$omp depobj(depobj2) depend (out : a) !$omp depobj(depobj3) depend( inout : a) !$omp depobj(depobj4) depend(mutexinoutset: a) !$omp depobj(depobj1) update(out) !$omp depobj(depobj2) update(mutexinoutset) !$omp depobj(depobj3) update(in) !$omp depobj(depobj4) update(inout) !$omp task depend (depobj: depobj1, depobj2, depobj3) !$omp end task !$omp task depend(mutexinoutset: a) !$omp end task !$omp depobj(depobj2) destroy !$omp depobj(depobj1) depend(inoutset: a) !$omp depobj(depobj1) update(mutexinoutset) !$omp depobj(depobj1) update(inoutset) end subroutine f1