10.2.4.2 No Type Mismatch Problems for Subroutines with Choice Arguments

A high quality MPI-/ implementation should provide a mechanism to ensure that MPI-/ choice arguments do not cause fatal compile-time or run-time errors due to type mismatch. An MPI-/ implementation may require applications to use the mpi module, or require that it be compiled with a particular compiler flag, in order to avoid type mismatch problems.

Advice to implementors. In the case where the compiler does not generate errors, nothing needs to be done to the existing interface. In the case where the compiler may generate errors, a set of overloaded functions may be used. See the paper of M. Hennecke [8]. Even if the compiler does not generate errors, explicit interfaces for all routines would be useful for detecting errors in the argument list. Also, explicit interfaces which give INTENT information can reduce the amount of copying for BUF(*) arguments. (End of advice to implementors.)

MPI-Standard for MARMOT