[MPI3 Fortran] Deprecate mpif.h?

Craig Rasmussen 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  
> you
> 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  
> interface
> 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 mailing list