1! { dg-do compile { target { fortran_integer_16 || ilp32 } } } 2! omp_depend_kind = 2*intptr_t --> 16 (128 bit) on 64bit-pointer systems 3! --> 8 (128 bit) on 32bit-pointer systems 4subroutine f1 5 !use omp_lib ! N/A in gcc/testsuite 6 use iso_c_binding, only: c_intptr_t 7 implicit none 8 integer, parameter :: omp_depend_kind = 2*c_intptr_t 9 integer :: a 10 integer(kind=omp_depend_kind) :: depobj1, depobj2, depobj3, depobj4, depobj5 11 !$omp depobj(depobj1) depend (in : a) 12 !$omp depobj(depobj2) depend (out : a) 13 !$omp depobj(depobj3) depend( inout : a) 14 !$omp depobj(depobj4) depend(mutexinoutset: a) 15 !$omp depobj(depobj1) update(out) 16 !$omp depobj(depobj2) update(mutexinoutset) 17 !$omp depobj(depobj3) update(in) 18 !$omp depobj(depobj4) update(inout) 19 !$omp task depend (depobj: depobj1, depobj2, depobj3) 20 !$omp end task 21 22 !$omp task depend(mutexinoutset: a) 23 !$omp end task 24 !$omp depobj(depobj2) destroy 25end subroutine f1 26