transfer_array_intrinsic failures
Paul Thomas
paulthomas2@wanadoo.fr
Sun Mar 26 20:07:00 GMT 2006
Thomas Koenig wrote:
>On Sat, Mar 25, 2006 at 04:09:35PM -0500, David Edelsohn wrote:
>
>
>>>There isn't one - these are new tests that pass on i686 systems/Linux
>>>and Cygwin. Could you pass on the details, please? I will try to deal
>>>with it as fast as possible.
>>>
>>>
>> It appears to be broken on all big-endian architectures. Pinski
>>mentioned on IRC that the problem may be the testcase and not the code
>>generation.
>>
>> transfer_array_intrinsic_1.f90 fails on powerpc and s390.
>>transfer_array_intrinsic_2.f90 fails on powerpc-aix as well.
>>
>> All execution failures.
>>
>>
>
>Here's what ifort 8.0 has to say about the test cases:
>
>$ ifort transfer_array_intrinsic_1.f90
>fortcom: Error: transfer_array_intrinsic_1.f90, line 35: The shapes of the array expressions do not conform. [CMP]
> cmp = transfer (z, cmp, 1) * 8.0
>-----^
>fortcom: Error: transfer_array_intrinsic_1.f90, line 79: The shapes of the array expressions do not conform. [CH]
> ch(3:2:-1) = transfer (y, ch, 3)
>-----^
>fortcom: Error: transfer_array_intrinsic_1.f90, line 85: The shapes of the array expressions do not conform. [CH]
> ch(1:2) = transfer (y, ch, 3)
>-----^
>compilation aborted for transfer_array_intrinsic_1.f90 (code 1)
>$ ifort transfer_array_intrinsic_2.f90
>fortcom: Warning: transfer_array_intrinsic_2.f90, line 6: The structure length is not a multiple of its largest element; could create misalignments for arrays of this type. [MYTYPE]
> type mytype
>----------^
>Yes, I know - I believe that ifort is wrong on the errors and right on the warning. The standard is quite clear that trhanfer effects a bit-wise copy that either fills the destination or exhausts the source/size combination. From my reading of that, conformity of shapes is not required. If I have read wrong, please let me know and I will implement a conforming version. A an aside, whatever the standard says, it strikes me that transfer is useful for being able to do just that sort of thing; it might be dangerous but memcpy's always are.
>
>
Paul
More information about the Fortran
mailing list