blob: 73734bbb07ea7a84b8f7689332ca24a20d5c2dfc [file] [log] [blame]
! { 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