! { 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" } }