2014-09-21 17:33:12 +00:00
|
|
|
! { dg-do run }
|
|
|
|
|
|
|
|
module target3
|
|
|
|
contains
|
|
|
|
subroutine foo (f, g)
|
|
|
|
integer :: n
|
|
|
|
integer, pointer :: f, g(:)
|
|
|
|
integer, pointer :: j, k(:)
|
|
|
|
logical :: r
|
|
|
|
nullify (j)
|
|
|
|
k => null ()
|
|
|
|
!$omp target map (tofrom: f, g, j, k) map (from: r)
|
|
|
|
r = associated (f) .or. associated (g)
|
|
|
|
r = r .or. associated (j) .or. associated (k)
|
|
|
|
!$omp end target
|
2018-12-28 15:30:48 +00:00
|
|
|
if (r) STOP 1
|
2014-09-21 17:33:12 +00:00
|
|
|
!$omp target
|
|
|
|
r = associated (f) .or. associated (g)
|
|
|
|
r = r .or. associated (j) .or. associated (k)
|
|
|
|
!$omp end target
|
2018-12-28 15:30:48 +00:00
|
|
|
if (r) STOP 2
|
2014-09-21 17:33:12 +00:00
|
|
|
end subroutine foo
|
|
|
|
end module target3
|
|
|
|
use target3, only : foo
|
|
|
|
integer, pointer :: f, g(:)
|
|
|
|
f => null ()
|
|
|
|
nullify (g)
|
|
|
|
call foo (f, g)
|
|
|
|
end
|