|
13 | 13 | * Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
|
14 | 14 | * Copyright (c) 2012-2017 Los Alamos National Security, LLC. All rights
|
15 | 15 | * reserved.
|
16 |
| - * Copyright (c) 2014-2019 Research Organization for Information Science |
| 16 | + * Copyright (c) 2014-2023 Research Organization for Information Science |
17 | 17 | * and Technology (RIST). All rights reserved.
|
18 | 18 | * Copyright (c) 2017 IBM Corporation. All rights reserved.
|
19 | 19 | * $COPYRIGHT$
|
@@ -102,14 +102,15 @@ int MPI_Neighbor_alltoallv_init(const void *sendbuf, const int sendcounts[], con
|
102 | 102 | } else if (! OMPI_COMM_IS_TOPO(comm)) {
|
103 | 103 | return OMPI_ERRHANDLER_NOHANDLE_INVOKE(MPI_ERR_TOPOLOGY,
|
104 | 104 | FUNC_NAME);
|
105 |
| - } else if ((NULL == sendcounts) || (NULL == sdispls) || |
106 |
| - (NULL == recvcounts) || (NULL == rdispls) || |
107 |
| - MPI_IN_PLACE == sendbuf || MPI_IN_PLACE == recvbuf) { |
108 |
| - return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_ARG, FUNC_NAME); |
109 | 105 | }
|
110 | 106 |
|
111 | 107 | err = mca_topo_base_neighbor_count (comm, &indegree, &outdegree);
|
112 | 108 | OMPI_ERRHANDLER_CHECK(err, comm, err, FUNC_NAME);
|
| 109 | + if (((0 < outdegree) && ((NULL == sendcounts) || (NULL == sdispls))) || |
| 110 | + ((0 < indegree) && ((NULL == recvcounts) || (NULL == rdispls))) || |
| 111 | + MPI_IN_PLACE == sendbuf || MPI_IN_PLACE == recvbuf) { |
| 112 | + return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_ARG, FUNC_NAME); |
| 113 | + } |
113 | 114 | for (i = 0; i < outdegree; ++i) {
|
114 | 115 | OMPI_CHECK_DATATYPE_FOR_SEND(err, sendtype, sendcounts[i]);
|
115 | 116 | OMPI_ERRHANDLER_CHECK(err, comm, err, FUNC_NAME);
|
|
0 commit comments