------- Comment #13 from ebotcazou at gcc dot gnu dot org 2006-04-01 17:10
-------
Is transfer_array_intrinsic_1.f90 portable to big-endian? It fails on SPARC.
Reduced testcase:
integer(4) :: y(4)
character(4) :: ch(4)
y = (/(i + ishft (i + 1, 8) + ishft (i + 2, 16) &
+ ishft (i + 3, 24), i = 65, 80 , 4)/)
ch = "wxyz"
ch = transfer (y(2:4:2), ch)
if (any (ch .ne. (/"EFGH","MNOP","wxyz","wxyz"/))) call abort ()
end
Breakpoint 1, MAIN__ () at transfer_array_intrinsic_1.f90:8
8 if (any (ch .ne. (/"EFGH","MNOP","wxyz","wxyz"/))) call abort ()
(gdb) p ch
$13 = (( 72 'H', 71 'G', 70 'F', 69 'E') ( 80 'P', 79 'O', 78 'N', 77 'M') (
119 'w', 120 'x', 121 'y', 122 'z') ( 119 'w', 120 'x', 121 'y', 122 'z') )
--
ebotcazou at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ebotcazou at gcc dot gnu dot
| |org
Status|RESOLVED |REOPENED
Resolution|FIXED |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17298