dear developers,
there is an error in the above mentioned file, in line 74:
if (MPI_SUCCESS == OMPI_FINT_2_INT(*ierr)) {
OMPI_ARRAY_INT_2_FINT(coords, OMPI_FINT_2_INT(*maxdims));
the OMPI_ARRAY_INT_2_FINT macro uses the second argument with
pre-decrement, such that it must be an lvalu
Christoph,
You're absolutely right. In addition to your comment about the
syntactically wrong line of code, even in the case when the fortran
and C integers have the same length, we modify the value pointer by
the fortran IN only argument.
A patch is on the way.
Thanks,
george.
On
Am 04.02.2009 um 16:06 schrieb George Bosilca:
Christoph,
You're absolutely right. In addition to your comment about the
syntactically wrong line of code, even in the case when the fortran
and C integers have the same length, we modify the value pointer by
the fortran IN only argument.
Hello Mr. Wuellen,
thanks for the bug report!
On Wednesday 04 February 2009 09:21:38 am Christoph van Wüllen wrote:
> there is an error in the above mentioned file, in line 74:
>
> if (MPI_SUCCESS == OMPI_FINT_2_INT(*ierr)) {
> OMPI_ARRAY_INT_2_FINT(coords, OMPI_FINT_2_INT(*maxdims));
WHAT: Have Fortran MPI_SEND/MPI_RECV directly call the corresponding
PML functions instead of the C MPI_Send/MPI_Recv
WHY: Slightly optimize the blocking send/receive in Fortran (i.e.,
remove a function call)
WHERE: ompi/mpi/f77/*.c -- possibly add an --enable switch to
configure to enabl
I forgot to mention -- here's a hacked up proof-of-concept that shows
exactly what I'm talking about:
http://www.open-mpi.org/hg/hgwebdir.cgi/jsquyres/fortran/rev/9880d70927cc
On Feb 4, 2009, at 5:03 PM, Jeff Squyres wrote:
WHAT: Have Fortran MPI_SEND/MPI_RECV directly call the correspo
Jeff Squyres wrote:
WHAT: Have Fortran MPI_SEND/MPI_RECV directly call the corresponding
PML functions instead of the C MPI_Send/MPI_Recv
WHY: Slightly optimize the blocking send/receive in Fortran (i.e.,
remove a function call)
WHERE: ompi/mpi/f77/*.c -- possibly add an --enable switch t