! { dg-do run } ! ! Test the fix for PR100094 ! program foo_p implicit none integer, parameter :: n = 11 integer, pointer :: pout(:) integer, target :: a(n) integer :: i a = [(i, i=1,n)] call foo(pout) if(.not.associated(pout)) stop 1 if(.not.associated(pout, a)) stop 2 if(any(pout/=a)) stop 3 stop contains subroutine foo(that) integer, pointer, intent(out) :: that(..) select rank(that) rank(1) that => a rank default stop 4 end select return end subroutine foo end program foo_p