[Patch, fortran] PR24311 - MERGE with character arguments causing ICE in IO statements.

Paul Thomas paulthomas2@wanadoo.fr
Tue Oct 11 23:37:00 GMT 2005


:ADDPATCH fortran:

This problem was caused by a patch to trans-io.c(gfc_trans_transfer), 
which changed from transferring arrays element by element to passing the 
array descriptor to the library. This failed because 
gfc_conv_expr_descriptor was unable to handle the unusual(unique?) 
phenomenon of a character array that has no charlen in the typespec. 
This has been fixed by the direct method of writing a charlen in 
iresolve.c(gfc_resolve_merge). This seems like the right place to do 
this, on the grounds that, no matter what, the output from MERGE will be 
correctly loaded with a character length.

Bubblestrapped and regtested on FC3/i686. OK for mainline and 4.0?

Paul T
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: merge.txt
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20051011/af1b90bf/attachment.txt>


More information about the Fortran mailing list