This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Dear All, The title of this problem describes the problem clearly. It comes about only for scalar character transfers where the source is shorter than the destination. As described in the PR, the solution is to make a temporary, with the length of the destination and only copy the source into it. All this was effected by use of the mechanics evolved for array transfers, where the different situations of source versus destination lengths and the presence of SIZE were correctly (I hope!) treated. The use of packing of the source has been eliminated, except for variables that are not full arrays. Bootstrapped and regtested on FC9/x86_i64 - OK for 4.5 and, eventually, for 4.4? Paul 2009-01-13 Paul Thomas <pault@gcc.gnu.org> PR fortran/34955 * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Has been absorbed into gfc_conv_intrinsic_transfer. All references to it in trans-intrinsic.c have been changed accordingly. PR fixed by using a temporary for scalar character transfer, when the source is shorter than the destination. 2009-01-13 Paul Thomas <pault@gcc.gnu.org> PR fortran/34955 * gfortran.dg/transfer_intrinsic_1.f90: New test.
Attachment:
submit.diff
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |