This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "MPICH primary repository". The branch, master has been updated via 956047a2696bdfb51d66f56d0b226df8d40ebd80 (commit) from d384d9bc1cd6a1449320dae33bdfd1161a7085ba (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://git.mpich.org/mpich.git/commitdiff/956047a2696bdfb51d66f56d0b226df8d4... commit 956047a2696bdfb51d66f56d0b226df8d40ebd80 Author: Rob Latham <[email protected]> Date: Wed Feb 26 16:38:14 2014 -0600 ROMIO portablity: cannot "switch" on datatypes MPICH datatypes can be used in a switch statement, but OpenMPI uses pointers. The OpenMPI guys carried this patch for far too long. see https://svn.open-mpi.org/trac/ompi/ticket/2808 diff --git a/src/mpi/romio/adio/ad_pvfs2/ad_pvfs2_io_dtype.c b/src/mpi/romio/adio/ad_pvfs2/ad_pvfs2_io_dtype.c index 7a76fa5..f581876 100644 --- a/src/mpi/romio/adio/ad_pvfs2/ad_pvfs2_io_dtype.c +++ b/src/mpi/romio/adio/ad_pvfs2/ad_pvfs2_io_dtype.c @@ -586,84 +586,94 @@ int convert_named(MPI_Datatype *mpi_dtype, fprintf(stderr, "NAMED"); #endif - switch (*mpi_dtype) + if (MPI_CHAR == *mpi_dtype) { - case MPI_CHAR: ret = PVFS_Request_contiguous(1, PVFS_CHAR, pvfs_dtype); #ifdef DEBUG_DTYPE fprintf(stderr, "-MPI_CHAR\n"); #endif - break; - case MPI_BYTE: - ret = PVFS_Request_contiguous(1, PVFS_BYTE, pvfs_dtype); + } + else if ( MPI_BYTE == *mpi_dtype ) + { + ret = PVFS_Request_contiguous(1, PVFS_BYTE, pvfs_dtype); #ifdef DEBUG_DTYPE - fprintf(stderr, "-MPI_BYTE\n"); + fprintf(stderr, "-MPI_BYTE\n"); #endif - break; - case MPI_SHORT: - ret = PVFS_Request_contiguous(1, PVFS_SHORT, pvfs_dtype); + } + else if ( MPI_SHORT == *mpi_dtype ) + { + ret = PVFS_Request_contiguous(1, PVFS_SHORT, pvfs_dtype); #ifdef DEBUG_DTYPE - fprintf(stderr, "-MPI_SHORT\n"); + fprintf(stderr, "-MPI_SHORT\n"); #endif - break; - case MPI_INT: - ret = PVFS_Request_contiguous(1, PVFS_INT, pvfs_dtype); + } + else if ( MPI_INT == *mpi_dtype ) + { + ret = PVFS_Request_contiguous(1, PVFS_INT, pvfs_dtype); #ifdef DEBUG_DTYPE - fprintf(stderr, "-MPI_INT\n"); + fprintf(stderr, "-MPI_INT\n"); #endif - break; - case MPI_LONG: - ret = PVFS_Request_contiguous(1, PVFS_LONG, pvfs_dtype); + } + else if ( MPI_LONG == *mpi_dtype ) + { + ret = PVFS_Request_contiguous(1, PVFS_LONG, pvfs_dtype); #ifdef DEBUG_DTYPE - fprintf(stderr, "-MPI_LONG\n"); + fprintf(stderr, "-MPI_LONG\n"); #endif - break; - case MPI_FLOAT: - ret = PVFS_Request_contiguous(1, PVFS_FLOAT, pvfs_dtype); + } + else if ( MPI_FLOAT == *mpi_dtype ) + { + ret = PVFS_Request_contiguous(1, PVFS_FLOAT, pvfs_dtype); #ifdef DEBUG_DTYPE fprintf(stderr, "-MPI_FLOAT\n"); #endif - break; - case MPI_DOUBLE: - ret = PVFS_Request_contiguous(1, PVFS_DOUBLE, pvfs_dtype); + } + else if ( MPI_DOUBLE == *mpi_dtype ) + { + ret = PVFS_Request_contiguous(1, PVFS_DOUBLE, pvfs_dtype); #ifdef DEBUG_DTYPE fprintf(stderr, "-MPI_DOUBLE\n"); #endif - break; - case MPI_UNSIGNED_CHAR: - ret = PVFS_Request_contiguous(1, PVFS_UNSIGNED_CHAR, pvfs_dtype); + } + else if ( MPI_UNSIGNED_CHAR == *mpi_dtype ) + { + ret = PVFS_Request_contiguous(1, PVFS_UNSIGNED_CHAR, pvfs_dtype); #ifdef DEBUG_DTYPE fprintf(stderr, "-MPI_UNSIGNED_CHAR\n"); #endif - break; - case MPI_UNSIGNED_SHORT: - ret = PVFS_Request_contiguous(1, PVFS_UNSIGNED, pvfs_dtype); + } + else if ( MPI_UNSIGNED_SHORT == *mpi_dtype ) + { + ret = PVFS_Request_contiguous(1, PVFS_UNSIGNED, pvfs_dtype); #ifdef DEBUG_DTYPE fprintf(stderr, "-MPI_UNSIGNED_SHORT\n"); #endif - break; - case MPI_UNSIGNED: - ret = PVFS_Request_contiguous(1, PVFS_UNSIGNED, pvfs_dtype); + } + else if ( MPI_UNSIGNED == *mpi_dtype ) + { + ret = PVFS_Request_contiguous(1, PVFS_UNSIGNED, pvfs_dtype); #ifdef DEBUG_DTYPE fprintf(stderr, "-MPI_SHORT\n"); #endif - break; - case MPI_UNSIGNED_LONG: - ret = PVFS_Request_contiguous(1, PVFS_UNSIGNED_LONG, pvfs_dtype); + } + else if ( MPI_UNSIGNED_LONG == *mpi_dtype ) + { + ret = PVFS_Request_contiguous(1, PVFS_UNSIGNED_LONG, pvfs_dtype); #ifdef DEBUG_DTYPE fprintf(stderr, "-MPI_UNSIGNED_LONG\n"); #endif - break; - case MPI_LONG_DOUBLE: - ret = PVFS_Request_contiguous(1, PVFS_LONG_DOUBLE, pvfs_dtype); + } + else if ( MPI_LONG_DOUBLE == *mpi_dtype ) + { + ret = PVFS_Request_contiguous(1, PVFS_LONG_DOUBLE, pvfs_dtype); #ifdef DEBUG_DTYPE fprintf(stderr, "-MPI_LONG_DOUBLE\n"); #endif - break; - default: + } + else + { fprintf(stderr, "convert_named: predefined type not found"); return -1; - break; } if (ret != 0) fprintf(stderr, "convert_named: Datatype creation failed\n"); ----------------------------------------------------------------------- Summary of changes: src/mpi/romio/adio/ad_pvfs2/ad_pvfs2_io_dtype.c | 94 +++++++++++++---------- 1 files changed, 52 insertions(+), 42 deletions(-) hooks/post-receive -- MPICH primary repository