[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.1rc2-127-gfb17d2b
mysql vizuser
noreply at mpich.org
Wed Jan 1 09:24:11 CST 2014
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 fb17d2b05e9c55781ab3b22a8f50440e9878d46b (commit)
from 8c5ab38319b3ac34ed4e7a37a265b4a166baaf33 (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/fb17d2b05e9c55781ab3b22a8f50440e9878d46b
commit fb17d2b05e9c55781ab3b22a8f50440e9878d46b
Author: Junchao Zhang <jczhang at mcs.anl.gov>
Date: Tue Dec 31 12:41:28 2013 -0600
Disable Clang's type checking for MPI_2INT
Type checking for MPI_2INT is commented out because Clang 3.3 flags
struct {int i1; int i2;} as different from int[2]. But actually these
two types are of the same layout. Clang gives a type mismatch warning
for a definitely correct code like the following:
int in[2], out[2];
MPI_Reduce(in, out, 1, MPI_2INT, MPI_MAXLOC, 0, MPI_COMM_WORLD);
So, we disable type checking for MPI_2INT until Clang fixes this bug.
Fixes #1993
Signed off by Rajeev Thakur <thakur at mcs.anl.gov>
diff --git a/src/include/mpi.h.in b/src/include/mpi.h.in
index 1b9ad19..62fa0a9 100644
--- a/src/include/mpi.h.in
+++ b/src/include/mpi.h.in
@@ -168,7 +168,21 @@ static const MPI_Datatype mpich_mpi_float_int MPICH_ATTR_TYPE_TAG_LAYOUT_C
static const MPI_Datatype mpich_mpi_double_int MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(struct mpich_struct_mpi_double_int) = MPI_DOUBLE_INT;
static const MPI_Datatype mpich_mpi_long_int MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(struct mpich_struct_mpi_long_int) = MPI_LONG_INT;
static const MPI_Datatype mpich_mpi_short_int MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(struct mpich_struct_mpi_short_int) = MPI_SHORT_INT;
-static const MPI_Datatype mpich_mpi_2int MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(struct mpich_struct_mpi_2int) = MPI_2INT;
+
+/*
+ * The MPI_2INT line is commented out because currently Clang 3.3 flags
+ * struct {int i1; int i2;} as different from int[2]. But actually these
+ * two types are of the same layout. Clang gives a type mismatch warning
+ * for a definitely correct code like the following:
+ * int in[2], out[2];
+ * MPI_Reduce(in, out, 1, MPI_2INT, MPI_MAXLOC, 0, MPI_COMM_WORLD);
+ *
+ * So, we disable type checking for MPI_2INT until Clang fixes this bug.
+ */
+
+/* static const MPI_Datatype mpich_mpi_2int MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(struct mpich_struct_mpi_2int) = MPI_2INT
+ */
+
#if @MPI_LONG_DOUBLE_INT@ != 0x0c000000
static const MPI_Datatype mpich_mpi_long_double_int MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(struct mpich_struct_mpi_long_double_int) = MPI_LONG_DOUBLE_INT;
#endif
-----------------------------------------------------------------------
Summary of changes:
src/include/mpi.h.in | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletions(-)
hooks/post-receive
--
MPICH primary repository
More information about the commits
mailing list