This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/36257] New: SPREAD gives wrong results with CHARACTER variables
- From: "fxcoudert at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 17 May 2008 18:03:20 -0000
- Subject: [Bug fortran/36257] New: SPREAD gives wrong results with CHARACTER variables
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
This one turned up during my testing of SPREAD on wide character strings, but
it turns out that it already happens on default character variables. It looks
like the front-end doesn't fill the return array descriptor well.
$ cat k2.f90
implicit none
character(len=5), dimension(3,3), parameter :: &
p = reshape(["", "", "", "", "", "", "", "", ""], [3,3])
character(len=5), dimension(3,3) :: m1
m1 = p
if (any (spread (p, 1, 2) /= spread (m1, 1, 2))) call abort
end
$ gfortran k2.f90 && ./a.out
Fortran runtime error: rank mismatch in spread()
The most amazing is that it's specific to character variables (ie it doesn't
happen with integer, for example).
--
Summary: SPREAD gives wrong results with CHARACTER variables
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Keywords: wrong-code
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: fxcoudert at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36257