MPI functions sometimes use arguments with a choice (or union) data type. Distinct calls to the same routine may pass by reference actual arguments of different types. The mechanism for providing such arguments will differ from language to language. For Fortran with the (deprecated) include file mpif.h or the mpi module, the document uses < type> to represent a choice variable; with the Fortran mpi_f08 module, such arguments are declared with the Fortran 2018 syntax TYPE(*), DIMENSION(..); for C, we use void*.
Advice
to implementors.
Implementors can freely choose how to implement
choice arguments in the mpi module,
e.g., with a nonstandard compiler-dependent method that has
the quality of the call mechanism in the implicit Fortran
interfaces, or with the method defined for the mpi_f08 module.
See details in Section Overview.
( End of advice to implementors.)