(j3.2006) (SC22WG5.4656) [ukfortran] AW: Vote on N1904
Thu Mar 15 18:12:34 EDT 2012
On 3/15/12 1:47 PM, Van Snyder wrote:
> On Wed, 2012-03-14 at 18:03 -0700, Malcolm Cohen wrote:
>> In fact, because we want to pass TYPE(*) except for
>> alloc/ptr/ass-shape/ass-rank to a BIND(C) routine as a plain address
>> [because it's much too much work for the user to type "C_LOC(...)"!],
>> and this will necessarily exclude the type info, it appears to be the
>> only restriction that will actually work at all.
> Since c_loc(...) seems to do everything that TYPE(*) is intended to do,
> why do we have TYPE(*)? The only disadvantages are that the argument of
> c_loc needs to be a variable with the TARGET or POINTER attribute.
Well, for starters, the willingness of people to rewrite their MPI codes
call mpi_xxx (buffer...)
call mpi_xxx (c_loc(buffer)...)
is really close to zero.
And that an actual argument that is not a variable is undefinable.
> J3 mailing list
> J3 at j3-fortran.org
Bill Long longb at cray.com
Fortran Technical Support & voice: 651-605-9024
Bioinformatics Software Development fax: 651-605-9142
Cray Inc./Cray Plaza, Suite 210/380 Jackson St./St. Paul, MN 55101
More information about the J3