This one is a heisenbug, which showed up in the testsuite while testing a patch but is also present on trunk:
$ cat proc_decl_2.f90 program s implicit none procedure() :: q2 procedure() :: q3 procedure() :: q5 procedure(sub) :: p4 procedure(p4) :: p6 contains subroutine sub end subroutine end program s $ gfortran proc_decl_2.f90 proc_decl_2.f90:7.21: procedure(p4) :: p6 1 Error: Interface 'p4' of procedure 'p6' at (1) must be explicit -- Summary: Rejects valid procedure declarations Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: rejects-valid Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: fxcoudert at gcc dot gnu dot org GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33917