http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52117

--- Comment #12 from steven hirshman <sphirshman at yahoo dot com> 2012-02-11 
12:08:02 UTC ---
Thank you for your reply. I'll check with my coworker about that.


From: burnus at gcc dot gnu.org <gcc-bugzi...@gcc.gnu.org>
To: sphirsh...@yahoo.com 
Sent: Saturday, February 11, 2012 6:40 AM
Subject: [Bug fortran/52117] allocated arrays give incorrect results when used
with RESHAPE in gcc v4.6.2

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 
> "( )".

Reply via email to