This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: transfer_array_intrinsic testcase failures (take 2)
- From: dominiq at lps dot ens dot fr (Dominique Dhumieres)
- To: fortran at gcc dot gnu dot org
- Cc: paul dot richard dot thomas at cea dot fr
- Date: Mon, 27 Mar 2006 16:39:12 +0200
- Subject: Re: transfer_array_intrinsic testcase failures (take 2)
Paul,
I think the two tests:
ch = transfer (y(2:4:2), ch)
and
ch = transfer (y(4:2:-2), ch)
fall in the category:
> If the physical representation of the result is longer
> than that of SOURCE, the physical representation of the leading part is
> that of SOURCE and the remainder is processor dependent.
The source is two integer*4, while the length of TRANSFER is that of
ch, i.e., four character*4, then the first 8 bytes come from y while the
remaining ones are "processor dependent". Apparently gfortran takes them
from ch (and this is assumed in the test case), a non-processor dependent
test case could be:
if (any (ch(1:2) .ne. (/"EFGH","MNOP"/))) call abort ()
and
if (any (ch(1:2) .ne. (/"MNOP","EFGH"/))) call abort ()
Dominique