Skip to content

Commit 3fd3539

Browse files
authored
Merge pull request #13328 from bosilca/feature/get_name_predefined_null
Add support for get_name with predefined NULL objects.
2 parents 6a2c60a + cdde22d commit 3fd3539

File tree

5 files changed

+19
-12
lines changed

5 files changed

+19
-12
lines changed

ompi/datatype/ompi_datatype_internal.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
* This is the OMPI-layered numbering of ALL supported MPI types
3636
* (derived from the old DT_ names).
3737
*/
38-
#define OMPI_DATATYPE_MPI_EMPTY 0x00
38+
#define OMPI_DATATYPE_MPI_NULL 0x00
3939
#define OMPI_DATATYPE_MPI_INT8_T 0x01
4040
#define OMPI_DATATYPE_MPI_UINT8_T 0x02
4141
#define OMPI_DATATYPE_MPI_INT16_T 0x03

ompi/datatype/ompi_datatype_module.c

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -65,14 +65,21 @@ int32_t ompi_datatype_number_of_predefined_data = 0;
6565
* Additionally to OMPI_DATATYPE_INIT_PREDEFINED_BASIC_TYPE, we have a OMPI_DATATYPE_INIT_PREDEFINED,
6666
* for all available types (getting rid of duplication of the name.
6767
*/
68-
ompi_predefined_datatype_t ompi_mpi_datatype_null =
68+
ompi_predefined_datatype_t ompi_mpi_datatype_null = {
6969
{
70-
{
71-
OPAL_DATATYPE_INITIALIZER_EMPTY(OMPI_DATATYPE_FLAG_PREDEFINED|OPAL_DATATYPE_FLAG_CONTIGUOUS),
72-
OMPI_DATATYPE_EMPTY_DATA(EMPTY),
73-
},
74-
{0, } /* padding */
75-
};
70+
OPAL_DATATYPE_INITIALIZER_EMPTY(OMPI_DATATYPE_FLAG_PREDEFINED
71+
| OPAL_DATATYPE_FLAG_CONTIGUOUS),
72+
.id = OMPI_DATATYPE_MPI_NULL,
73+
.d_f_to_c_index = -1,
74+
.d_keyhash = NULL,
75+
.args = NULL,
76+
.packed_description = 0,
77+
.name = "MPI_DATATYPE_NULL",
78+
},
79+
{
80+
0,
81+
} /* padding */
82+
};
7683

7784
ompi_predefined_datatype_t ompi_mpi_unavailable = OMPI_DATATYPE_INIT_PREDEFINED (UNAVAILABLE, 0);
7885

@@ -317,7 +324,7 @@ ompi_predefined_datatype_t ompi_mpi_count = OMPI_DATATYPE_INIT_UNAVAILABLE_BASIC
317324
* Everything referring to types/ids should be ORDERED as in ompi_datatype_basicDatatypes array.
318325
*/
319326
const ompi_datatype_t* ompi_datatype_basicDatatypes[OMPI_DATATYPE_MPI_MAX_PREDEFINED] = {
320-
[OMPI_DATATYPE_MPI_EMPTY] = &ompi_mpi_datatype_null.dt,
327+
[OMPI_DATATYPE_MPI_NULL] = &ompi_mpi_datatype_null.dt,
321328
[OMPI_DATATYPE_MPI_INT8_T] = &ompi_mpi_int8_t.dt,
322329
[OMPI_DATATYPE_MPI_UINT8_T] = &ompi_mpi_uint8_t.dt,
323330
[OMPI_DATATYPE_MPI_INT16_T] = &ompi_mpi_int16_t.dt,

ompi/mca/coll/portals4/coll_portals4_component.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ ptl_op_t ompi_coll_portals4_atomic_op [OMPI_OP_NUM_OF_TYPES] =
5858

5959
ptl_datatype_t ompi_coll_portals4_atomic_datatype [OMPI_DATATYPE_MPI_MAX_PREDEFINED] =
6060
{
61-
[OMPI_DATATYPE_MPI_EMPTY] = COLL_PORTALS4_NO_DTYPE,
61+
[OMPI_DATATYPE_MPI_NULL] = COLL_PORTALS4_NO_DTYPE,
6262
[OMPI_DATATYPE_MPI_UINT8_T] = PTL_UINT8_T,
6363
[OMPI_DATATYPE_MPI_INT16_T] = PTL_INT16_T,
6464
[OMPI_DATATYPE_MPI_UINT16_T] = PTL_UINT16_T,

ompi/mpi/c/type_get_name.c.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ PROTOTYPE ERROR_CLASS type_get_name(DATATYPE type, STRING_OUT type_name, INT_OUT
4343

4444
if ( MPI_PARAM_CHECK ) {
4545
OMPI_ERR_INIT_FINALIZE(FUNC_NAME);
46-
if (NULL == type || MPI_DATATYPE_NULL == type) {
46+
if (NULL == type) {
4747
return OMPI_ERRHANDLER_NOHANDLE_INVOKE(MPI_ERR_TYPE,
4848
FUNC_NAME );
4949
} else if (NULL == type_name || NULL == resultlen) {

ompi/mpi/c/win_get_name.c.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ PROTOTYPE ERROR_CLASS win_get_name(WIN win, STRING_OUT win_name, INT_OUT resultl
3636
if (MPI_PARAM_CHECK) {
3737
OMPI_ERR_INIT_FINALIZE(FUNC_NAME);
3838

39-
if (ompi_win_invalid(win)) {
39+
if (ompi_win_invalid(win) && MPI_WIN_NULL != win) {
4040
return OMPI_ERRHANDLER_NOHANDLE_INVOKE(MPI_ERR_WIN, FUNC_NAME);
4141
} else if (NULL == win_name || NULL == resultlen) {
4242
return OMPI_ERRHANDLER_INVOKE(win, MPI_ERR_ARG, FUNC_NAME);

0 commit comments

Comments
 (0)