! { dg-additional-options "-fdump-tree-gimple" }
!
! { dg-additional-sources my-usleep.c }
! { dg-prune-output "command-line option '-fintrinsic-modules-path=.*' is valid for Fortran but not for C" }
!
! Ensure that 'depend(...: var)' and 'depobj(...) depend(...: var)'
! depend on the same variable when 'var' is a pointer
!
program main
  use omp_lib
  use iso_c_binding
  implicit none (external, type)

  interface
    subroutine usleep(t) bind(C, name="my_usleep")
      use iso_c_binding
      integer(c_int), value :: t
    end subroutine
  end interface

  integer :: bbb
  integer, target :: c
  integer(omp_depend_kind) :: obj(2)
  integer, pointer :: ppp

  integer :: x1, x2, x3 

  c = 42
  ppp => c
 
  if (.not. associated (ppp)) &
    stop 0;
 
  x1 = 43
  x2 = 44
  x3 = 45
  !$omp depobj(obj(1)) depend(inout: ppp)
  !$omp depobj(obj(2)) depend(in: bbb)
 
  !$omp parallel num_threads(5)
  !$omp single
 
    !$omp task depend (out: ppp)
    write (*,*) "task 1 (start)"
    call usleep(40)
    if (x1 /= 43) stop 11
    if (x2 /= 44) stop 12
    x1 = 11
    write (*,*) "task 1 (end)"
    !$omp end task
 
    !$omp task depend(inout: ppp)
    write (*,*) "task 2 (start)"
    call usleep(30)
    if (x1 /= 11) stop 21
    if (x2 /= 44) stop 22
    x1 = 111
    x2 = 222
    write (*,*) "task 2 (end)"
    !$omp end task
 
    !$omp task depend(out: bbb)
    write (*,*) "task 3 (start)"
    call usleep(40)
    if (x3 /= 45) stop 3
    x3 = 33
    write (*,*) "task 3 (end)"
    !$omp end task
 
   !$omp task depend(depobj: obj(1), obj(2))
    write (*,*) "task 4 (start)"
    if (x1 /= 111) stop 41
    if (x2 /= 222) stop 42
    if (x3 /= 33) stop 43
    call usleep(10)
    x1 = 411
    x2 = 422
    x3 = 433
    write (*,*) "task 4 (end)"
    !$omp end task
 
    !$omp task depend(in: ppp)
    if (x1 /= 411) stop 51
    if (x2 /= 422) stop 52
    if (x3 /= 433) stop 53
    write (*,*) "task 5"
    !$omp end task
 
  !$omp end single
  !$omp end parallel
 
  ! expectation (task dependencies):
  ! 1 - 2 \
  !        4 - 5
  ! 3 ----/
 
end program main

! Ensure that the pointer target address for ppp is taken
! but the address of bbb itself:

! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:ppp\\)" 1 "gimple" } }
! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(inout:ppp\\)" 1 "gimple" } }
! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:&bbb\\)" 1 "gimple" } }
! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(depobj:&obj\\\[0\\\]\\) depend\\(depobj:&obj\\\[1\\\]\\)" 1 "gimple" } }
! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(in:ppp\\)" 1 "gimple" } }

! { dg-final { scan-tree-dump-times "MEM\\\[\[^\r\n]+\\\] = ppp;" 1 "gimple" } }
! { dg-final { scan-tree-dump-times "MEM\\\[\[^\r\n]+\\\] = &bbb;" 1 "gimple" } }
