https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77596
janus at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |accepts-invalid Status|WAITING |NEW CC| |janus at gcc dot gnu.org --- Comment #2 from janus at gcc dot gnu.org --- (In reply to toK from comment #0) > I guess that in an ideal world, the compiler should generate code to cause a > run-time error in a situation like in the following snippet: It should already be rejected at compile time, I think. When using "implicit none", a "procedure(), pointer" can only point to a subroutine, IIRC. Slightly modified example (with a plain procedure pointer instead of a PPC): program xxx implicit none call ass() contains function ff(x) integer, intent(in) :: x integer :: ff print *, 'aaaa' end function ff subroutine ass() procedure(), pointer :: fp fp=>ff call fp(3) end subroutine ass end program xxx This is correctly rejected with: fp=>ff 1 Error: Interface mismatch in procedure pointer assignment at (1): 'ff' is not a subroutine