! { dg-do compile } ! ! PR 85537: [F08] Invalid memory reference at runtime when calling subroutine through procedure pointer ! ! Contributed by Tiziano Müller module m1 implicit none contains subroutine foo() integer :: a abstract interface subroutine ibar() end subroutine end interface procedure(ibar), pointer :: bar_ptr => bar_impl ! { dg-error "invalid in procedure pointer initialization" } contains subroutine bar_impl() write (*,*) "foo" a = a + 1 end subroutine end subroutine end module module m2 implicit none contains subroutine foo(dbar) interface subroutine dbar() end subroutine end interface procedure(dbar), pointer :: bar_ptr => dbar ! { dg-error "invalid in procedure pointer initialization" } call bar_ptr() end subroutine end module