------- Comment #7 from tobi at gcc dot gnu dot org 2006-10-09 11:14 -------
(In reply to comment #6)
> please try the testcase in the orignal PR with idental string lengths. It will
> crash gfortran as well.
Works for me. Please provide a testcase.
[EMAIL PROTECTED]:~/src/pr/29267> cat t.f90
! implicit character*32 (b-z)
CHARACTER(len=255), DIMENSION(2) :: a
a = reshape((/ "12345678901234567890123456789012", to_string(1.0) /),
shape(a))
print *, a
CONTAINS
CHARACTER(32) FUNCTION to_string(x)
REAL, INTENT(in) :: x
WRITE(to_string, FMT="(F6.3)") x
END FUNCTION
END PROGRAM
[EMAIL PROTECTED]:~/src/pr/29267> ~/src/gcc/build/gcc/f951 t.f90
MAIN__ to_string
Execution times (seconds)
parser : 0.01 (100%) usr 0.00 ( 0%) sys 0.01 (100%) wall
132 kB (18%) ggc
TOTAL : 0.01 0.00 0.01
740 kB
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --disable-checking to disable checks.
[EMAIL PROTECTED]:~/src/pr/29267>
> so, why is an equivalent assignment through the array constructor invalid?
Because the standard says so, I already quoted the relevant part.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29267