Closed
Description
Problem
The constants MPI_STATUS_SIZE
, MPI_SOURCE
, MPI_TAG
, and MPI_ERROR
are specifically not defined in C.
Proposal
Add MPI_F_STATUS_SIZE
, MPI_F_SOURCE
, MPI_F_TAG
, and MPI_F_ERROR
constants in C. The F
in the names emphasizes that these are equivalent values to the already-defined-in-Fortran constants.
Note that the _SOURCE
, _TAG
, and _ERROR
constants are 1 less than their Fortran counterparts (since they are offsets into an array, and Fortran and C differ in their handling of array offsets).
Changes to the Text
- Add
MPI_F_STATUS_SIZE
up in chapter 2/terms and conditions - Add the other
MPI_F_
constants in chapter 18/language bindings
Corresponding PRs:
- MPI 3.x: https://github.com/mpi-forum/mpi-standard/pull/271
- PDF: mpi-report-pr271-3449c7f2d948906ef6d66478974dec55e0b541c5.pdf
- Changes:
- p15:37 (terms and conventions, listing of constants)
- p688:30-34 (Fortran bindings/status section)
- p704:6, 14-19 (update constant tables in A.1.1)
- p837:31-33 (changelog)
- MPI 4.x: https://github.com/mpi-forum/mpi-standard/pull/270
- PDF: mpi-report-pr270-266490d597c55671f7e6bb78380f2bcdae97c1bc.pdf
- Changes:
- p15:37 (terms and conventions, listing of constants)
- p758:33-37 (Fortran bindings/status section)
- p774:6, 14-19 (updated constant tables in A.1.1)
- p915:31-33 (changelog)
Impact on Implementations
Add MPI_F_STATUS_SIZE
, MPI_F_SOURCE
, MPI_F_TAG
, and MPI_F_ERROR
constants in mpi.h
.
Impact on Users
Users can allocate INTEGER-style Fortran statuses in C and properly read their values.
References
https://lists.mpi-forum.org/pipermail/mpiwg-fortran/2020-September/003584.html