[MPI3 Fortran] Deprecate mpif.h?
crasmussen at newmexicoconsortium.org
Tue Mar 9 11:40:52 CST 2010
On Mar 8, 2010, at 4:50 AM, N.M. Maclaren wrote:
> On Mar 7 2010, Bill Long wrote:
>> Removing the requirement that types of actual and dummy arguments
>> match is the sole purpose of type(*). I'm not sure what Nick
>> means by 'the actual type will still have to be passed'. There is
>> no requirement or intention that some extra information indicating
>> the type of the actual argument be passed to the subprogram. If an
>> actual argument of type X is passed to a subprogram that has an
>> interface where the corresponding dummy argument is specified
>> type(*), and the subprogram is a function written in C, then the
>> interpretation of the argument in the function should be as if it
>> were declared type X.
> This is in the context of MPI choice arguments, where the
> information is
> provided by the MPI datatype argument.
> However, in general (i.e. not just MPI), TYPE(*) isn't useful unless
> pass the type some other way - because, except in a few cases, C
> needs to
> know the actual type X to make use of the argument. And, if an
> is used only for a single type, why use TYPE(*)?
Just to be clear. The MPI-3 proposal is to use TYPE(*) for choice
buffer arguments. In addition, these MPI procedures all have an
additional argument of MPI_Type, that specifies the type of the choice
buffer. This extra argument supplies 'the actual type [that] will
still have to be passed'.
More information about the mpiwg-fortran