diff --git a/ompi/mpi/c/ialltoall.c b/ompi/mpi/c/ialltoall.c index af560da2d3..dcafa8505c 100644 --- a/ompi/mpi/c/ialltoall.c +++ b/ompi/mpi/c/ialltoall.c @@ -70,9 +70,14 @@ int MPI_Ialltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, if (ompi_comm_invalid(comm)) { return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_COMM, FUNC_NAME); - } else if (MPI_IN_PLACE == sendbuf || MPI_IN_PLACE == recvbuf) { + } else if (MPI_IN_PLACE == recvbuf) { return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_ARG, FUNC_NAME); + } else if (MPI_IN_PLACE == sendbuf) { + /* MPI_IN_PLACE is not fully implemented yet, + return MPI_ERR_INTERN for now */ + return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_INTERN, + FUNC_NAME); } else { OMPI_CHECK_DATATYPE_FOR_SEND(err, sendtype, sendcount); OMPI_ERRHANDLER_CHECK(err, comm, err, FUNC_NAME); diff --git a/ompi/mpi/c/ialltoallv.c b/ompi/mpi/c/ialltoallv.c index a8cd00c9a0..903ff12bd4 100644 --- a/ompi/mpi/c/ialltoallv.c +++ b/ompi/mpi/c/ialltoallv.c @@ -92,8 +92,13 @@ int MPI_Ialltoallv(const void *sendbuf, const int sendcounts[], const int sdispl if ((NULL == sendcounts) || (NULL == sdispls) || (NULL == recvcounts) || (NULL == rdispls) || - MPI_IN_PLACE == sendbuf || MPI_IN_PLACE == recvbuf) { + MPI_IN_PLACE == recvbuf) { return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_ARG, FUNC_NAME); + } else if (MPI_IN_PLACE == sendbuf) { + /* MPI_IN_PLACE is not fully implemented yet, + return MPI_ERR_INTERN for now */ + return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_INTERN, + FUNC_NAME); } size = OMPI_COMM_IS_INTER(comm)?ompi_comm_remote_size(comm):ompi_comm_size(comm); diff --git a/ompi/mpi/c/ialltoallw.c b/ompi/mpi/c/ialltoallw.c index ebce37f01e..b88d0a6fa0 100644 --- a/ompi/mpi/c/ialltoallw.c +++ b/ompi/mpi/c/ialltoallw.c @@ -88,8 +88,13 @@ int MPI_Ialltoallw(const void *sendbuf, const int sendcounts[], const int sdispl if ((NULL == sendcounts) || (NULL == sdispls) || (NULL == sendtypes) || (NULL == recvcounts) || (NULL == rdispls) || (NULL == recvtypes) || - MPI_IN_PLACE == sendbuf || MPI_IN_PLACE == recvbuf) { + MPI_IN_PLACE == recvbuf) { return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_ARG, FUNC_NAME); + } else if (MPI_IN_PLACE == sendbuf) { + /* MPI_IN_PLACE is not fully implemented yet, + return MPI_ERR_INTERN for now */ + return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_INTERN, + FUNC_NAME); } size = OMPI_COMM_IS_INTER(comm)?ompi_comm_remote_size(comm):ompi_comm_size(comm); diff --git a/ompi/mpi/c/ineighbor_alltoall.c b/ompi/mpi/c/ineighbor_alltoall.c index 6a1d63a9c0..ab547aac1f 100644 --- a/ompi/mpi/c/ineighbor_alltoall.c +++ b/ompi/mpi/c/ineighbor_alltoall.c @@ -74,6 +74,11 @@ int MPI_Ineighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype send } else if (MPI_IN_PLACE == recvbuf) { return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_ARG, FUNC_NAME); + } else if (MPI_IN_PLACE == sendbuf) { + /* MPI_IN_PLACE is not fully implemented yet, + return MPI_ERR_INTERN for now */ + return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_INTERN, + FUNC_NAME); } else { OMPI_CHECK_DATATYPE_FOR_SEND(err, sendtype, sendcount); OMPI_ERRHANDLER_CHECK(err, comm, err, FUNC_NAME); diff --git a/ompi/mpi/c/ineighbor_alltoallv.c b/ompi/mpi/c/ineighbor_alltoallv.c index f675e1139e..2bd972d59a 100644 --- a/ompi/mpi/c/ineighbor_alltoallv.c +++ b/ompi/mpi/c/ineighbor_alltoallv.c @@ -98,8 +98,13 @@ int MPI_Ineighbor_alltoallv(const void *sendbuf, const int sendcounts[], const i if ((NULL == sendcounts) || (NULL == sdispls) || (NULL == recvcounts) || (NULL == rdispls) || - MPI_IN_PLACE == sendbuf || MPI_IN_PLACE == recvbuf) { + MPI_IN_PLACE == recvbuf) { return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_ARG, FUNC_NAME); + } else if (MPI_IN_PLACE == sendbuf) { + /* MPI_IN_PLACE is not fully implemented yet, + return MPI_ERR_INTERN for now */ + return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_INTERN, + FUNC_NAME); } err = ompi_comm_neighbors_count(comm, &indegree, &outdegree, &weighted); diff --git a/ompi/mpi/c/ineighbor_alltoallw.c b/ompi/mpi/c/ineighbor_alltoallw.c index 249d306c0b..786aaf6fb9 100644 --- a/ompi/mpi/c/ineighbor_alltoallw.c +++ b/ompi/mpi/c/ineighbor_alltoallw.c @@ -96,8 +96,13 @@ int MPI_Ineighbor_alltoallw(const void *sendbuf, const int sendcounts[], const M if ((NULL == sendcounts) || (NULL == sdispls) || (NULL == sendtypes) || (NULL == recvcounts) || (NULL == rdispls) || (NULL == recvtypes) || - MPI_IN_PLACE == sendbuf || MPI_IN_PLACE == recvbuf) { + MPI_IN_PLACE == recvbuf) { return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_ARG, FUNC_NAME); + } else if (MPI_IN_PLACE == sendbuf) { + /* MPI_IN_PLACE is not fully implemented yet, + return MPI_ERR_INTERN for now */ + return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_INTERN, + FUNC_NAME); } err = ompi_comm_neighbors_count(comm, &indegree, &outdegree, &weighted);