[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