diff --git a/ompi/mca/io/romio321/romio/mpi-io/mpioimpl.h b/ompi/mca/io/romio321/romio/mpi-io/mpioimpl.h index 7c5f0eb394..4eb2843bca 100644 --- a/ompi/mca/io/romio321/romio/mpi-io/mpioimpl.h +++ b/ompi/mca/io/romio321/romio/mpi-io/mpioimpl.h @@ -2,6 +2,8 @@ /* * * Copyright (C) 1997 University of Chicago. + * Copyright (c) 2018 IBM Corporation. All rights reserved. + * $COPYRIGHT$ * See COPYRIGHT notice in top-level directory. */ @@ -36,7 +38,12 @@ #define ROMIO_THREAD_CS_ENTER() #define ROMIO_THREAD_CS_EXIT() #define ROMIO_THREAD_CS_YIELD() -#define MPIO_DATATYPE_ISCOMMITTED(dtype_, err_) do {} while (0) +/* The MPI_DATATYPE_ISCOMMITTED macro now always sets err_=0. + This is an optimistic approach for Open MPI, but it is likely other + upper layers already checked the datatype was committed. + Not setting err_ is incorrect since it can lead to use of + uninitialized variable.*/ +#define MPIO_DATATYPE_ISCOMMITTED(dtype_, err_) do { err_ = 0; } while (0) #ifdef HAVE_WINDOWS_H #define MPIU_UNREFERENCED_ARG(a) a #else