(j3.2006) (SC22WG5.4656) [ukfortran] AW: Vote on N1904

Bill Long longb
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 
to change

   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
> http://j3-fortran.org/mailman/listinfo/j3

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 mailing list