http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58586
janus at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[OOP] ICE with derived type |ICE with derived type with |with a polymorphic |allocatable component |allocatable component |passed by value |passed by value | --- Comment #2 from janus at gcc dot gnu.org --- Reduced test case with the same ICE: module mod type :: a end type type :: b type(a), allocatable :: a end type contains subroutine add (c) type(b), value :: c end subroutine type(b) function b_init() end function end module use mod call add(b_init()) end The component does not have to be polymorphic to trigger the error.