------- Comment #2 from dominiq at lps dot ens dot fr 2010-07-29 12:19 ------- The patch in comment #1 fixes the ICE, but AFAICT (due to other patches in my tree) make an error message to disappear in pr44348, pr44614, and pr44616:
[macbook] f90/bug% cat pr44614.f90 module factory_pattern implicit none type, abstract :: Connection contains procedure(generic_desc), deferred :: description end type Connection abstract interface subroutine generic_desc(self) ! import class(Connection) :: self end subroutine generic_desc end interface end module factory_pattern end [macbook] f90/bug% gfc pr44614.f90 pr44614.f90:12.33: class(Connection) :: self 1 Error: the type of 'self' at (1) has not been declared within the interface [macbook] f90/bug% gfcp pr44614.f90 pr44614.f90:12.33: class(Connection) :: self 1 Error: the type of 'self' at (1) has not been declared within the interface pr44614.f90:6.27: procedure(generic_desc), deferred :: description 1 Error: Non-polymorphic passed-object dummy argument of 'generic_desc' at (1) gfc patched r162674, gfcp r162490. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45125