The following valid program is rejected. The problem is that gfortran assigns the interface of the INTRINSIC function "cos" to "f" and not the one of the abstract interface. If one uses "interface" instead of "abstract interface" it works.
abstract interface function dim() integer :: dim end function dim end interface procedure(dim) :: f print *, f() end -- Summary: Wrong interface use for PROCEDURE(<abstr.interface_name) Product: gcc Version: 4.4.0 Status: UNCONFIRMED Keywords: rejects-valid Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: burnus at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36459