blob: 64851b34249465fb888365a73a963dfaedc79ccb [file] [log] [blame]
! { dg-do compile }
! { dg-options "-fopenmp -fdump-tree-original" }
! PR fortran/78260
integer function f1()
implicit none
f1 = 0
!$omp task depend(inout:f1)
!$omp end task
!$omp task depend(inout:f1)
!$omp end task
end function f1
integer function f2()
implicit none
dimension :: f2(1)
f2(1) = 0
!$omp task depend(inout:f2)
!$omp end task
!$omp task depend(inout:f2)
!$omp end task
end function f2
integer function f3() result(res)
implicit none
dimension :: res(1)
res(1) = 0
!$omp task depend(inout:res)
!$omp end task
!$omp task depend(inout:res)
!$omp end task
end function f3
integer function f4() result(res)
implicit none
allocatable :: res
dimension :: res(:)
res = [0]
!$omp task depend(inout:res)
!$omp end task
!$omp task depend(inout:res)
!$omp end task
end function f4
subroutine sub()
implicit none
integer, allocatable :: arr(:)
arr = [3]
!$omp task depend(inout:arr)
!$omp end task
!$omp task depend(inout:arr)
!$omp end task
end subroutine sub
! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(inout:__result_f1\\)" 2 "original" } }
! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(inout:\\*__result.0\\)" 4 "original" } }
! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(inout:\\*\\(integer\\(kind=4\\)\\\[0:\\\] \\* restrict\\) __result->data\\)" 2 "original" } }
! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(inout:\\*\\(integer\\(kind=4\\)\\\[0:\\\] \\* restrict\\) arr.data\\)" 2 "original" } }