| ! { 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 |
| if (r) stop 1 |
| !$omp target |
| r = associated (f) .or. associated (g) |
| r = r .or. associated (j) .or. associated (k) |
| !$omp end target |
| if (r) stop 2 |
| end subroutine foo |
| end module target3 |
| use target3, only : foo |
| integer, pointer :: f, g(:) |
| f => null () |
| nullify (g) |
| call foo (f, g) |
| end |