1! { dg-do run }
2
3  call foo ()
4contains
5  subroutine foo ()
6    integer, target :: A(30)
7    integer, pointer :: p(:)
8    !$omp target data map(A(1:10))
9      p => A
10      !$omp target map(p(4:10)) map(A(1:10))
11        A(3) = 777
12        p(9) = 777
13        A(9) = 999
14      !$omp end target
15    !$omp end target data
16    if (A(3) /= 777 .or. A(9) /= 999) stop 1
17  end subroutine
18end
19