http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46244
Mikael Morin <mikael at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mikael at gcc dot gnu.org --- Comment #5 from Mikael Morin <mikael at gcc dot gnu.org> 2010-10-30 16:02:27 UTC --- Another one, with mutually recursive types module type_a_b type a sequence type(b), pointer :: pb end type a type b sequence type(a), pointer :: pa end type b end module type_a_b module type_a_b_bis type a sequence type(b), pointer :: pb end type a type b sequence type(a), pointer :: pa end type b end module type_a_b_bis use type_a_b, only: a1 => a, b1 => b use type_a_b_bis, only: a2 => a, b2 => b type(a2) :: y call foo(y) contains subroutine foo(x) type(a1) :: x end subroutine foo end Infinite loop at compile time. I couldn't think of a sane person writing such code anyway.