http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52117
--- Comment #11 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-02-11 11:40:36 UTC --- (In reply to comment #9) > We have a problem in v4.6.2 with the following (using the std=f95 flag): > There seems to have been a limitation in past versions of gfortran with > allocatable components inside derived types. Allocatable components in derived types is not allowed in Fortran 95 - it has only been later added as Technical Report (TR) 15581 and it is part of Fortran 2003. Thus, the flag -std=f95 does not work if you need allocatable components. Hence, you have to choose one of the other options listed as comment #7: > Unless you provide me with a time machine [...] > The only solutions, I see, which do not require code changes are: > > - Use any GCC version before GCC 4.6.0; for instance GCC 4.5.x > - Use GCC 4.6 older than 2010-11-28 > - Use a GCC (any version) newer than 2012-02-03 > - Use -fno-realloc-lhs (caveat: Flag not supported before GCC 4.6) > - Use -std=f95 (caveat: Requires that the code compiles without error with > -std=f95) > > I personally would use -fno-realloc-lhs [...] > > For completeness, also the following code changes are possible; except for > the first one, they are not recommended: > > - Use an array spec for allocatable LHS, e.g. "B(:,:,:) = " > - Don't use allocatables left of " = RESHAPE" > - Make the expression on the RHS more complicated: add "+ 0" or surround with > "( )".