The following program gives an ICE with gfortran 4.1, 4.2, 4.3, 4.4, and 4.5. The program is valid (except for the one marked line) and compiles with NAG f95, ifort, and g95. With the marked line, it is invalid which is not diagnosed but also gives an ICE.
implicit none type t integer, pointer :: a end type t type t2 type(t) :: b end type t2 contains pure subroutine foo(x) type(t),intent(in) :: x type(t) :: z type(t2) :: y y = t2(x) ! ICE, valid LHS type (note: F2003, C1272 (3) does not apply) z = t2(x) ! ICE, invalid LHS type end subroutine foo end module m -- Summary: ICE with structure constuctor with DT component Product: gcc Version: 4.5.0 Status: UNCONFIRMED Keywords: ice-on-valid-code, ice-on-invalid-code 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=43362