The following code is invalid, but currently accepted by gfortran:
procedure(iabs) :: p
integer :: p
end
It is also accepted when the two statements are reversed in order.
It's not completely obvious to me whether this variant is invalid, too:
procedure() :: p
integer :: p
It is rejected by g95, but one could argue that it is valid in the same way as:
external :: p
integer :: p
--
Summary: PROCEDURE statement double declaration bug
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Keywords: accepts-invalid
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: janus at gcc dot gnu dot org
GCC host triplet: x86_64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39414