In the following program, transfer could be simplified at compile time,
however, this does not happen.
Additionally is the following is not needed:
- Call to _gfortran_internal_pack.
There is no way the array could be noncontiguous.
- Call to _gfortran_internal_unpack.
There is no need to unpack the temporary array, especially not if it is
only there as "src" argument of memmove.
character(len=4,kind=4) :: str
str = transfer([int(z'039f'),int(z'03cd'),int(z'03c7'), &
int(z'30b8') ], str)
end
--
Summary: TRANSFER: Simplify array argument
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Keywords: missed-optimization
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37212