! { dg-do run }
!
! TARGET actual to POINTER dummy with INTENT(IN)
!
program test
  implicit none
  integer, target :: a
  a = 66
  call foo(a)
  if (a /= 647) STOP 1
contains
  subroutine foo(p)
    integer, pointer, intent(in) :: p
    if (a /= 66) STOP 2
    if (p /= 66) STOP 3
    p = 647
    if (p /= 647) STOP 4
    if (a /= 647) STOP 5
  end subroutine foo
end program test