http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42418
--- Comment #7 from janus at gcc dot gnu.org 2012-07-21 17:10:32 UTC --- (In reply to comment #6) > However, I wonder whether this whole generic check does not come to early. If > the generic interface is declared after the PROCEDURE statement, it will not > be > triggered. It should probably be moved to resolve.c Along this line: module mod procedure(gen) :: f interface gen module procedure spec end interface gen contains subroutine spec() end subroutine end module This is rejected with: procedure(gen) :: f 1 Error: Interface 'gen' of procedure 'f' at (1) must be explicit I'm not sure if this error message is correct. In any case, it is accepted if 'spec' is used as an interface in the PROCEDURE declaration (which seems inconsistent).