allow macros in addition to function symbols for f2c etc
Opened this issue · 1 comments
Problem
#647 requires f2c/c2f to be symbols. We ended up implementing this with text that prohibits macros.
An implementation is allowed to implement MPI_AINT_ADD, PMPI_AINT_ADD, MPI_AINT_DIFF, and PMPI_AINT_DIFF, and no others, as macros in C.
This ended up causing backwards compatibility issues (pmodels/mpich#7244) in MPICH, when users tried to run with an older Intel MPI.
Proposal
Change the text to stipulate that these must be symbols in the library, but can also be macros in the header, as long as they are exactly equivalent.
Note that I am perfectly fine doing nothing here, since MPICH will be strictly compliant in their implementation of the standard ABI, which won't have the same backwards compatibility burden to pre-4.1 days.
Changes to the Text
TODO, pending consensus.
Impact on Implementations
Allows MPICH to be backwards compatible.
Impact on Users
Helps with backwards compatibility issues as we cross the 4.1 version boundary.