This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
*ping* - Re: [Patch, Fortran] PR56907 - do not 'pack' arrays passed to C_LOC
- From: Tobias Burnus <burnus at net-b dot de>
- To: gcc patches <gcc-patches at gcc dot gnu dot org>, gfortran <fortran at gcc dot gnu dot org>
- Date: Mon, 15 Apr 2013 22:52:01 +0200
- Subject: *ping* - Re: [Patch, Fortran] PR56907 - do not 'pack' arrays passed to C_LOC
- References: <5165C8D0 dot 7020606 at net-b dot de>
*ping*
Also pending is the NO_ARGS_CHECK patch at:
http://gcc.gnu.org/ml/fortran/2013-04/msg00120.html
On April 10, Tobias Burnus wrote:
Fortran 2008 supports C_LOC(array); if the argument is not simply
contiguous, the current code adds a call to __gfortran_intrinsic_pack.
The pack call shouldn't be there. Fortran 2008 demands that the actual
argument is contiguous and intrinsic_pack copy creates a copy if the
run-time check shows that the argument is not contiguous. Thus, it is
not a wrong-code issue. However, for performance reasons, it makes
sense to avoid the call __gfortran_intrinsic_pack.
Build and regtested on x86-64-gnu-linux.
OK for the trunk?
Tobias