Hi, I would like to suggest you to add macros indicating the version of the OpenMPI library in the C/C++ header file mpi.h analogous to the parameter constants in the Fortran header file:
parameter (OMPI_MAJOR_VERSION=1) parameter (OMPI_MINOR_VERSION=1) parameter (OMPI_RELEASE_VERSION=4) parameter (OMPI_GREEK_VERSION="") parameter (OMPI_SVN_VERSION="r13362") This would be very handy if someone discover a bug XYZ and a workaround for it in OpenMPI versions before (and not including) 1.1.4 for example and wants his code to be portable on many OpenMPI versions and also on other MPI-2 implementations. In this situation he could do something like this in a common C header file: #ifdef OPEN_MPI /* true iff (x.y.z < u.v.w) */ #define DOTTED_LESS_THAN(x,y,z, u,v,w) \ (((x) < (u)) || (((x) == (u)) && (((y) < (v)) || (((y) == (v)) && ((z) < (w)))))) # if DOTTED_LESS_THAN(OMPI_MAJOR_VERSION, OMPI_MINOR_VERSION, OMPI_RELEASE_VERSION, 1,1,4) # define USE_MPI_WORKAROUND_XYZ # endif #endif And later in the C source code: #ifdef USE_MPI_WORKAROUND_XYZ /* use the workaround */ #else /* use the normal method */ #endif Thanks, Martin