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 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 2008 + TR 29113 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 non-standard 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.)