This could should compile, I believe TYPE DD INTEGER :: I END TYPE DD TYPE(DD) :: X(2)=(/(DD(I),I=1,2)/) END
but does not with current 4.5 trunk, fails with: Error: Parameter 'i' at (1) has not been declared or is a variable, which does not reduce to a constant expression -- Summary: [4.5 Regression] bogus error: Parameter 'i' at (1) has not been declared or is a variable, which does not reduce to a constant expression Product: gcc Version: 4.5.0 Status: UNCONFIRMED Keywords: rejects-valid Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jv244 at cam dot ac dot uk OtherBugsDependingO 32834 nThis: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42999