https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63674
--- Comment #3 from janus at gcc dot gnu.org --- Another test case, this time for a PPC pointing to a subroutine: module test interface subroutine sub_interface ( ) end subroutine end interface type :: t procedure(sub_interface), nopass, pointer :: s => NULL() end type t contains subroutine sub_1 ( ) end subroutine pure subroutine eval( a ) type(t), intent(in) :: a call a%s() ! call sub_1() end subroutine eval end module test program prog use test type(t) :: a a%s=>sub_1 call eval(a) end program prog Should give an error, but is accepted by 4.9 and trunk (even with the patch in comment #1).