eschnett / MPItrampoline

A forwarding MPI implementation that can use any other MPI implementation via an MPI ABI
MIT License
44 stars 4 forks source link

Some Fortran functions are missing the 'ierror' argument #38

Closed mkre closed 1 year ago

mkre commented 1 year ago

Hi,

Some of the signatures in mpi_functions_fortran.py are missing the ierror argument. I think ierror needs to be present as an argument in all MPI functions except MPI_Wtime(), MPI_Wtick(), MPI_Aint_add(), MPI_Aint_diff().

This can lead to hard-to-catch bugs at run time for applications using mpif.h. The same applies to the MPIwrapper code. Let me know if I should also open an issue over there.

Thanks, Moritz

eschnett commented 1 year ago

Indeed, e.g. MPI_Waitany is missing the ierror argument. Thanks for finding this.

eschnett commented 1 year ago

(There is no need to open another issue.)

mkre commented 1 year ago

It's not only MPI_Waitany(). This should be the full list:

EDIT: Just saw the "e.g." in your comment above, so you were already aware of the fact there are more ;)

eschnett commented 1 year ago

Yes, I wrote a Python script to check for all missing ierror variables.