From a7ad93d9cba4ca9bb370821fa98d09dabacbe875 Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Fri, 4 Oct 2013 11:36:38 +0200 Subject: [PATCH 1/1] Enforce type for other MPI NULL constants. --- include/smpi/smpi.h | 12 ++++++------ src/smpi/smpi_pmpi.c | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/include/smpi/smpi.h b/include/smpi/smpi.h index 7caf4d5f57..710e5da2a1 100644 --- a/include/smpi/smpi.h +++ b/include/smpi/smpi.h @@ -165,12 +165,12 @@ typedef struct { int count; } MPI_Status; -#define MPI_STATUS_IGNORE NULL -#define MPI_STATUSES_IGNORE NULL +#define MPI_STATUS_IGNORE ((MPI_Status*)NULL) +#define MPI_STATUSES_IGNORE ((MPI_Status*)NULL) #define MPI_FORTRAN_STATUS_IGNORE -1 #define MPI_FORTRAN_STATUSES_IGNORE -1 -#define MPI_DATATYPE_NULL NULL +#define MPI_DATATYPE_NULL ((MPI_Datatype)NULL) XBT_PUBLIC_DATA( MPI_Datatype ) MPI_CHAR; XBT_PUBLIC_DATA( MPI_Datatype ) MPI_SHORT; XBT_PUBLIC_DATA( MPI_Datatype ) MPI_INT; @@ -223,7 +223,7 @@ typedef void MPI_User_function(void *invec, void *inoutvec, int *len, struct s_smpi_mpi_op; typedef struct s_smpi_mpi_op *MPI_Op; -#define MPI_OP_NULL NULL +#define MPI_OP_NULL ((MPI_Op)NULL) XBT_PUBLIC_DATA( MPI_Op ) MPI_MAX; XBT_PUBLIC_DATA( MPI_Op ) MPI_MIN; XBT_PUBLIC_DATA( MPI_Op ) MPI_MAXLOC; @@ -240,14 +240,14 @@ XBT_PUBLIC_DATA( MPI_Op ) MPI_BXOR; struct s_smpi_mpi_group; typedef struct s_smpi_mpi_group *MPI_Group; -#define MPI_GROUP_NULL NULL +#define MPI_GROUP_NULL ((MPI_Group)NULL) XBT_PUBLIC_DATA( MPI_Group ) MPI_GROUP_EMPTY; struct s_smpi_mpi_communicator; typedef struct s_smpi_mpi_communicator *MPI_Comm; -#define MPI_COMM_NULL NULL +#define MPI_COMM_NULL ((MPI_Comm)NULL) XBT_PUBLIC_DATA( MPI_Comm ) MPI_COMM_WORLD; XBT_PUBLIC_DATA( int ) MPI_UNIVERSE_SIZE; #define MPI_COMM_SELF smpi_process_comm_self() diff --git a/src/smpi/smpi_pmpi.c b/src/smpi/smpi_pmpi.c index 74c3aac1a6..cddc0206d4 100644 --- a/src/smpi/smpi_pmpi.c +++ b/src/smpi/smpi_pmpi.c @@ -2324,7 +2324,7 @@ int PMPI_Type_commit(MPI_Datatype* datatype) { int retval = 0; smpi_bench_end(); - if (datatype == MPI_DATATYPE_NULL) { + if (datatype == NULL || *datatype == MPI_DATATYPE_NULL) { retval = MPI_ERR_TYPE; } else { smpi_datatype_commit(datatype); -- 2.20.1