[mpich-commits] [mpich] MPICH primary repository branch, large-count, created. v3.0.4-125-g0228281

mysql vizuser noreply at mpich.org
Fri May 3 14:23:22 CDT 2013


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, large-count has been created
        at  02282816b3711a0a2443ad2070698bf19f409c44 (commit)

- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/02282816b3711a0a2443ad2070698bf19f409c44

commit 02282816b3711a0a2443ad2070698bf19f409c44
Author: Dave Goodell <goodell at mcs.anl.gov>
Date:   Thu Apr 4 13:02:16 2013 -0500

    WIP large count work, use MPI_Aint for dtype size and collectives
    
    Also includes random fixes to `-Wshorten-64-to-32` warnings which might
    need to be teased out.

diff --git a/src/include/mpierrs.h b/src/include/mpierrs.h
index 330c296..e467d3f 100644
--- a/src/include/mpierrs.h
+++ b/src/include/mpierrs.h
@@ -298,7 +298,7 @@
         int ferr = 0;							\
         if (HANDLE_GET_KIND(dtype) == HANDLE_KIND_BUILTIN) { ferr=1; }	\
         else {								\
-            int errsize;                                                \
+            MPI_Aint errsize;                                           \
             MPID_Datatype *errdtypeptr;					\
             MPID_Datatype_get_ptr(dtype,errdtypeptr);			\
             MPID_Datatype_get_size_macro(dtype,errsize);                \
diff --git a/src/include/mpiutil.h b/src/include/mpiutil.h
index 0e0dfaa..40d5b87 100644
--- a/src/include/mpiutil.h
+++ b/src/include/mpiutil.h
@@ -184,30 +184,36 @@ int MPIR_Assert_fail_fmt(const char *cond, const char *file_name, int line_num,
  * "std::numeric_limits<TYPE>" functionality.  These rely on either C11
  * "_Generic" functionality or some unfortunately complicated GCC builtins. */
 #if HAVE_C11__GENERIC
-#define expr_inttype_max(expr_)              \
-    _Generic(expr_,                          \
-             signed char:        SCHAR_MAX,  \
-             signed short:       SHRT_MAX,   \
-             signed int:         INT_MAX,    \
-             signed long:        LONG_MAX,   \
-             signed long long:   LLONG_MAX,  \
-             unsigned char:      UCHAR_MAX,  \
-             unsigned short:     USHRT_MAX,  \
-             unsigned int:       UINT_MAX,   \
-             unsigned long:      ULONG_MAX,  \
-             unsigned long long: ULLONG_MAX)
-#define expr_inttype_min(expr_)             \
-    _Generic(expr_,                         \
-             signed char:        SCHAR_MIN, \
-             signed short:       SHRT_MIN,  \
-             signed int:         INT_MIN,   \
-             signed long:        LONG_MIN,  \
-             signed long long:   LLONG_MIN, \
-             unsigned char:      0,         \
-             unsigned short:     0,         \
-             unsigned int:       0,         \
-             unsigned long:      0,         \
-             unsigned long long: 0)
+#define expr_inttype_max(expr_)                       \
+    _Generic(expr_,                                   \
+             signed char:           SCHAR_MAX,        \
+             signed short:          SHRT_MAX,         \
+             signed int:            INT_MAX,          \
+             signed long:           LONG_MAX,         \
+             signed long long:      LLONG_MAX,        \
+             unsigned char:         UCHAR_MAX,        \
+             unsigned short:        USHRT_MAX,        \
+             unsigned int:          UINT_MAX,         \
+             unsigned long:         ULONG_MAX,        \
+             unsigned long long:    ULLONG_MAX,       \
+             /* _Generic cares about cv-qualifiers */ \
+             volatile signed int:   INT_MAX,          \
+             volatile unsigned int: UINT_MAX)
+#define expr_inttype_min(expr_)                       \
+    _Generic(expr_,                                   \
+             signed char:           SCHAR_MIN,        \
+             signed short:          SHRT_MIN,         \
+             signed int:            INT_MIN,          \
+             signed long:           LONG_MIN,         \
+             signed long long:      LLONG_MIN,        \
+             unsigned char:         0,                \
+             unsigned short:        0,                \
+             unsigned int:          0,                \
+             unsigned long:         0,                \
+             unsigned long long:    0,                \
+             /* _Generic cares about cv-qualifiers */ \
+             volatile signed int:   INT_MIN,          \
+             volatile unsigned int: 0)
 #endif
 
 /* Assigns (src_) to (dst_), checking that (src_) fits in (dst_) without
@@ -218,18 +224,19 @@ int MPIR_Assert_fail_fmt(const char *cond, const char *file_name, int line_num,
  * can be found in Chapter 5 of "Secure Coding in C and C++" by Robert Seacord.
  */
 #if defined(expr_inttype_max) && defined(expr_inttype_min)
-#  define MPIU_Assign_trunc(dst_,src_) \
-    do { \
-        MPIU_Assert((src_) <= expr_inttype_max(dst_)); \
-        MPIU_Assert((src_) >= expr_inttype_min(dst_)); \
-        dst_ = (src_); \
+#  define MPIU_Assign_trunc(dst_,src_,dst_type_)                                       \
+    do {                                                                               \
+        MPIU_Assert_has_type((dst_), dst_type_);                                       \
+        MPIU_Assert((src_) <= expr_inttype_max(dst_));                                 \
+        MPIU_Assert((src_) >= expr_inttype_min(dst_));                                 \
+        dst_ = (dst_type_)(src_);                                                      \
     } while (0)
 #else
-#  define MPIU_Assign_trunc(dst_,src_) \
-    do { \
-        dst_ = (src_); \
+#  define MPIU_Assign_trunc(dst_,src_,dst_type_)                                       \
+    do {                                                                               \
+        dst_ = (dst_type_)(src_);                                                      \
         /* will catch some of the cases if the expr_inttype macros aren't available */ \
-        MPIU_Assert((dst_) == (src_)); \
+        MPIU_Assert((dst_) == (src_));                                                 \
     } while (0)
 #endif
 
diff --git a/src/mpi/coll/allred_group.c b/src/mpi/coll/allred_group.c
index 24c514e..50ee36e 100644
--- a/src/mpi/coll/allred_group.c
+++ b/src/mpi/coll/allred_group.c
@@ -29,7 +29,7 @@ int MPIR_Allreduce_group_intra(void *sendbuf, void *recvbuf, int count,
                                MPI_Datatype datatype, MPI_Op op, MPID_Comm *comm_ptr,
                                MPID_Group *group_ptr, int tag, int *errflag)
 {
-    int type_size;
+    MPI_Aint type_size;
     int mpi_errno = MPI_SUCCESS;
     int mpi_errno_ret = MPI_SUCCESS;
     /* newrank is a rank in group_ptr */
diff --git a/src/mpi/coll/allreduce.c b/src/mpi/coll/allreduce.c
index 02999d0..bca64e2 100644
--- a/src/mpi/coll/allreduce.c
+++ b/src/mpi/coll/allreduce.c
@@ -136,7 +136,8 @@ int MPIR_Allreduce_intra (
     int is_homogeneous;
     int rc;
 #endif
-    int        comm_size, rank, type_size;
+    int comm_size, rank;
+    MPI_Aint type_size;
     int mpi_errno = MPI_SUCCESS;
     int mpi_errno_ret = MPI_SUCCESS;
     int mask, dst, is_commutative, pof2, newrank, rem, newdst, i,
diff --git a/src/mpi/coll/bcast.c b/src/mpi/coll/bcast.c
index cf9ac0a..cab8c70 100644
--- a/src/mpi/coll/bcast.c
+++ b/src/mpi/coll/bcast.c
@@ -45,7 +45,8 @@ static int MPIR_Bcast_binomial(
     int nbytes=0;
     int recvd_size;
     MPI_Status status;
-    int type_size, is_contig, is_homogeneous;
+    int is_contig, is_homogeneous;
+    MPI_Aint type_size;
     int position;
     void *tmp_buf=NULL;
     MPI_Comm comm;
@@ -399,8 +400,9 @@ static int MPIR_Bcast_scatter_doubling_allgather(
     int relative_rank, mask;
     int mpi_errno = MPI_SUCCESS;
     int mpi_errno_ret = MPI_SUCCESS;
-    int scatter_size, nbytes=0, curr_size, recv_size = 0;
-    int type_size, j, k, i, tmp_mask, is_contig, is_homogeneous;
+    int scatter_size, curr_size, recv_size = 0;
+    int j, k, i, tmp_mask, is_contig, is_homogeneous;
+    MPI_Aint type_size, nbytes = 0;
     int relative_dst, dst_tree_root, my_tree_root, send_offset;
     int recv_offset, tree_root, nprocs_completed, offset, position;
     MPIU_CHKLMEM_DECL(1);
@@ -706,7 +708,8 @@ static int MPIR_Bcast_scatter_ring_allgather(
     int mpi_errno = MPI_SUCCESS;
     int mpi_errno_ret = MPI_SUCCESS;
     int scatter_size, nbytes;
-    int type_size, j, i, is_contig, is_homogeneous;
+    int j, i, is_contig, is_homogeneous;
+    MPI_Aint type_size;
     int position;
     int left, right, jnext;
     int curr_size = 0;
@@ -912,8 +915,8 @@ static int MPIR_SMP_Bcast(
 {
     int mpi_errno = MPI_SUCCESS;
     int mpi_errno_ret = MPI_SUCCESS;
-    int type_size, is_homogeneous;
-    int nbytes=0;
+    int is_homogeneous;
+    MPI_Aint type_size, nbytes=0;
     MPI_Status status;
     int recvd_size;
 
diff --git a/src/mpi_t/mpi_t_util.c b/src/mpi_t/mpi_t_util.c
index 8c28b2e..0c71dae 100644
--- a/src/mpi_t/mpi_t_util.c
+++ b/src/mpi_t/mpi_t_util.c
@@ -139,12 +139,12 @@ void MPIU_Tool_strncpy(char *dst, const char *src, int *len)
 
         if (!dst || !*len) {
             /* just return the space needed to hold src, including the terminator */
-            *len = strlen(src) + 1;
+            *len = (int)(strlen(src) + 1);
         }
         else {
             /* MPL_strncpy will always terminate the string */
             MPL_strncpy(dst, src, *len);
-            *len = strlen(dst) + 1;
+            *len = (int)(strlen(dst) + 1);
         }
     }
 }
diff --git a/src/mpid/ch3/channels/nemesis/include/mpid_nem_datatypes.h b/src/mpid/ch3/channels/nemesis/include/mpid_nem_datatypes.h
index 04b3c56..bbc7b98 100644
--- a/src/mpid/ch3/channels/nemesis/include/mpid_nem_datatypes.h
+++ b/src/mpid/ch3/channels/nemesis/include/mpid_nem_datatypes.h
@@ -147,7 +147,7 @@
 #define MPID_NEM_PKT_HEADER_FIELDS		\
     int source;					\
     int dest;					\
-    int datalen;				\
+    MPIDI_msg_sz_t datalen;                     \
     unsigned short seqno;                       \
     unsigned short type /* currently used only with checkpointing */
 typedef struct MPID_nem_pkt_header
diff --git a/src/mpid/ch3/channels/nemesis/include/mpid_nem_inline.h b/src/mpid/ch3/channels/nemesis/include/mpid_nem_inline.h
index 6d215a1..5e489ac 100644
--- a/src/mpid/ch3/channels/nemesis/include/mpid_nem_inline.h
+++ b/src/mpid/ch3/channels/nemesis/include/mpid_nem_inline.h
@@ -216,7 +216,7 @@ MPID_nem_mpich_sendv (MPID_IOV **iov, int *n_iov, MPIDI_VC_t *vc, int *again)
     
     while (*n_iov && payload_len >= (*iov)->MPID_IOV_LEN)
     {
-	int _iov_len = (*iov)->MPID_IOV_LEN;
+	size_t _iov_len = (*iov)->MPID_IOV_LEN;
 	MPIU_Memcpy (cell_buf, (*iov)->MPID_IOV_BUF, _iov_len);
 	payload_len -= _iov_len;
 	cell_buf += _iov_len;
@@ -351,7 +351,7 @@ MPID_nem_mpich_sendv_header (MPID_IOV **iov, int *n_iov, MPIDI_VC_t *vc, int *ag
     payload_len = MPID_NEM_MPICH_DATA_LEN - sizeof(MPIDI_CH3_Pkt_t);
     while (*n_iov && payload_len >= (*iov)->MPID_IOV_LEN)
     {
-	int _iov_len = (*iov)->MPID_IOV_LEN;
+	size_t _iov_len = (*iov)->MPID_IOV_LEN;
 	MPIU_Memcpy (cell_buf, (*iov)->MPID_IOV_BUF, _iov_len);
 	payload_len -= _iov_len;
 	cell_buf += _iov_len;
diff --git a/src/mpid/ch3/channels/nemesis/netmod/tcp/socksm.c b/src/mpid/ch3/channels/nemesis/netmod/tcp/socksm.c
index a26cfb2..d27a525 100644
--- a/src/mpid/ch3/channels/nemesis/netmod/tcp/socksm.c
+++ b/src/mpid/ch3/channels/nemesis/netmod/tcp/socksm.c
@@ -459,7 +459,9 @@ static int send_id_info(const sockconn_t *const sc)
     MPIDI_nem_tcp_idinfo_t id_info;
     MPIDI_nem_tcp_header_t hdr;
     struct iovec iov[3];
-    int pg_id_len = 0, offset, buf_size, iov_cnt = 2;
+    int buf_size, iov_cnt = 2;
+    ssize_t offset;
+    size_t pg_id_len = 0;
     MPIDI_STATE_DECL(MPID_STATE_SEND_ID_INFO);
 
     MPIDI_FUNC_ENTER(MPID_STATE_SEND_ID_INFO);
@@ -503,7 +505,7 @@ static int send_id_info(const sockconn_t *const sc)
     MPIDI_FUNC_EXIT(MPID_STATE_SEND_ID_INFO);
     return mpi_errno;
  fn_fail:
-    MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "failure. mpi_errno = %d, offset=%d, errno=%d %s", mpi_errno, offset, errno, MPIU_Strerror(errno)));
+    MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "failure. mpi_errno = %d, offset=%lld, errno=%d %s", mpi_errno, (long long)offset, errno, MPIU_Strerror(errno)));
     goto fn_exit;    
 }
 
@@ -518,7 +520,8 @@ static int send_tmpvc_info(const sockconn_t *const sc)
     MPIDI_nem_tcp_portinfo_t port_info;
     MPIDI_nem_tcp_header_t hdr;
     struct iovec iov[3];
-    int offset, buf_size, iov_cnt = 2;
+    int buf_size, iov_cnt = 2;
+    ssize_t offset;
     MPIDI_STATE_DECL(MPID_STATE_SEND_TMPVC_INFO);
 
     MPIDI_FUNC_ENTER(MPID_STATE_SEND_TMPVC_INFO);
@@ -552,7 +555,7 @@ static int send_tmpvc_info(const sockconn_t *const sc)
     MPIDI_FUNC_EXIT(MPID_STATE_SEND_TMPVC_INFO);
     return mpi_errno;
  fn_fail:
-    MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "failure. mpi_errno = %d, offset=%d, errno=%d %s", mpi_errno, offset, errno, MPIU_Strerror(errno)));
+    MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "failure. mpi_errno = %d, offset=%lld, errno=%d %s", mpi_errno, (long long)offset, errno, MPIU_Strerror(errno)));
     goto fn_exit;    
 }
 
@@ -564,7 +567,9 @@ static int recv_id_or_tmpvc_info(sockconn_t *const sc, int *got_sc_eof)
 {
     int mpi_errno = MPI_SUCCESS;
     MPIDI_nem_tcp_header_t hdr;
-    int pg_id_len = 0, nread, iov_cnt = 1;
+    int iov_cnt = 1;
+    size_t pg_id_len = 0;
+    ssize_t nread;
     int hdr_len = sizeof(MPIDI_nem_tcp_header_t);
     struct iovec iov[2];
     char *pg_id = NULL;
@@ -695,7 +700,8 @@ static int recv_id_or_tmpvc_info(sockconn_t *const sc, int *got_sc_eof)
 #define FCNAME MPIDI_QUOTE(FUNCNAME)
 static int send_cmd_pkt(int fd, MPIDI_nem_tcp_socksm_pkt_type_t pkt_type)
 {
-    int mpi_errno = MPI_SUCCESS, offset;
+    int mpi_errno = MPI_SUCCESS;
+    ssize_t offset;
     MPIDI_nem_tcp_header_t pkt;
     int pkt_len = sizeof(MPIDI_nem_tcp_header_t);
 
@@ -729,7 +735,8 @@ static int send_cmd_pkt(int fd, MPIDI_nem_tcp_socksm_pkt_type_t pkt_type)
 #define FCNAME MPIDI_QUOTE(FUNCNAME)
 static int recv_cmd_pkt(int fd, MPIDI_nem_tcp_socksm_pkt_type_t *pkt_type)
 {
-    int mpi_errno = MPI_SUCCESS, nread;
+    int mpi_errno = MPI_SUCCESS;
+    ssize_t nread;
     MPIDI_nem_tcp_header_t pkt;
     int pkt_len = sizeof(MPIDI_nem_tcp_header_t);
     MPIDI_STATE_DECL(MPID_STATE_RECV_CMD_PKT);
@@ -1597,11 +1604,11 @@ static int MPID_nem_tcp_recv_handler(sockconn_t *const sc)
             {
                 iov->MPID_IOV_BUF = (char *)iov->MPID_IOV_BUF + bytes_recvd;
                 iov->MPID_IOV_LEN -= bytes_recvd;
-                rreq->dev.iov_count = &rreq->dev.iov[rreq->dev.iov_offset + rreq->dev.iov_count] - iov;
+                rreq->dev.iov_count = (int)(&rreq->dev.iov[rreq->dev.iov_offset + rreq->dev.iov_count] - iov);
                 rreq->dev.iov_offset = iov - rreq->dev.iov;
                 MPIU_DBG_MSG_D(CH3_CHANNEL, VERBOSE, "bytes_recvd = %ld", (long int)bytes_recvd);
                 MPIU_DBG_MSG_D(CH3_CHANNEL, VERBOSE, "iov len = %ld", (long int)iov->MPID_IOV_LEN);
-                MPIU_DBG_MSG_D(CH3_CHANNEL, VERBOSE, "iov_offset = %d", rreq->dev.iov_offset);
+                MPIU_DBG_MSG_D(CH3_CHANNEL, VERBOSE, "iov_offset = %lld", (long long)rreq->dev.iov_offset);
                 goto fn_exit;
             }
             bytes_recvd -= iov->MPID_IOV_LEN;
@@ -1811,7 +1818,7 @@ int MPID_nem_tcp_connpoll(int in_blocking_poll)
              * on many platforms, including modern Linux. */
             if (it_plfd->revents & POLLERR || it_plfd->revents & POLLNVAL) {
                 int req_errno = MPI_SUCCESS;
-                int rc;
+                ssize_t rc;
                 char dummy;
                 const char *err_str = "UNKNOWN";
 
diff --git a/src/mpid/ch3/channels/nemesis/netmod/tcp/socksm.h b/src/mpid/ch3/channels/nemesis/netmod/tcp/socksm.h
index ea3e02e..270de1a 100644
--- a/src/mpid/ch3/channels/nemesis/netmod/tcp/socksm.h
+++ b/src/mpid/ch3/channels/nemesis/netmod/tcp/socksm.h
@@ -162,7 +162,7 @@ typedef enum MPIDI_nem_tcp_socksm_pkt_type {
     
 typedef struct MPIDI_nem_tcp_header {
     MPIDI_nem_tcp_socksm_pkt_type_t pkt_type;
-    int datalen;
+    MPIDI_msg_sz_t datalen;
 } MPIDI_nem_tcp_header_t;
 
 typedef struct MPIDI_nem_tcp_idinfo {
diff --git a/src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_utility.c b/src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_utility.c
index b4bca79..fbc9d2c 100644
--- a/src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_utility.c
+++ b/src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_utility.c
@@ -179,7 +179,8 @@ int MPID_nem_tcp_is_sock_connected(int fd)
 {
     int rc = FALSE;
     char buf[1];
-    int buf_len = sizeof(buf)/sizeof(buf[0]), ret_recv, error=0;
+    int buf_len = sizeof(buf)/sizeof(buf[0]), error=0;
+    size_t ret_recv;
     socklen_t n = sizeof(error);
 
     n = sizeof(error);
diff --git a/src/mpid/ch3/channels/nemesis/src/ch3_isend.c b/src/mpid/ch3/channels/nemesis/src/ch3_isend.c
index 1b15039..da5141a 100644
--- a/src/mpid/ch3/channels/nemesis/src/ch3_isend.c
+++ b/src/mpid/ch3/channels/nemesis/src/ch3_isend.c
@@ -51,8 +51,9 @@ int MPIDI_CH3_iSend (MPIDI_VC_t *vc, MPID_Request *sreq, void * hdr, MPIDI_msg_s
 
     if (MPIDI_CH3I_Sendq_empty(MPIDI_CH3I_shm_sendq))
     {
+        MPIU_Assert(hdr_sz <= INT_MAX);
 	MPIU_DBG_MSG_D (CH3_CHANNEL, VERBOSE, "iSend %d", (int) hdr_sz);
-	mpi_errno = MPID_nem_mpich_send_header (hdr, hdr_sz, vc, &again);
+	mpi_errno = MPID_nem_mpich_send_header (hdr, (int)hdr_sz, vc, &again);
         if (mpi_errno) MPIU_ERR_POP (mpi_errno);
 	if (again)
 	{
diff --git a/src/mpid/ch3/channels/nemesis/src/ch3_istartmsg.c b/src/mpid/ch3/channels/nemesis/src/ch3_istartmsg.c
index a21219e..4e97a0a 100644
--- a/src/mpid/ch3/channels/nemesis/src/ch3_istartmsg.c
+++ b/src/mpid/ch3/channels/nemesis/src/ch3_istartmsg.c
@@ -55,8 +55,9 @@ int MPIDI_CH3_iStartMsg (MPIDI_VC_t *vc, void *hdr, MPIDI_msg_sz_t hdr_sz, MPID_
     if (MPIDI_CH3I_Sendq_empty(MPIDI_CH3I_shm_sendq))
        /* MT */
     {
+        MPIU_Assert(hdr_sz <= INT_MAX);
 	MPIU_DBG_MSG_D (CH3_CHANNEL, VERBOSE, "iStartMsg %d", (int) hdr_sz);
-	mpi_errno = MPID_nem_mpich_send_header (hdr, hdr_sz, vc, &again);
+	mpi_errno = MPID_nem_mpich_send_header (hdr, (int)hdr_sz, vc, &again);
         if (mpi_errno) MPIU_ERR_POP (mpi_errno);
 	if (again)
 	{
diff --git a/src/mpid/ch3/channels/nemesis/src/ch3_progress.c b/src/mpid/ch3/channels/nemesis/src/ch3_progress.c
index 19810fe..76a50e6 100644
--- a/src/mpid/ch3/channels/nemesis/src/ch3_progress.c
+++ b/src/mpid/ch3/channels/nemesis/src/ch3_progress.c
@@ -723,8 +723,8 @@ int MPID_nem_handle_pkt(MPIDI_VC_t *vc, char *buf, MPIDI_msg_sz_t buflen)
 		
             while (n_iov && buflen >= iov->MPID_IOV_LEN)
             {
-                int iov_len = iov->MPID_IOV_LEN;
-		MPIU_DBG_MSG_D(CH3_CHANNEL, VERBOSE, "        %d", iov_len);
+                size_t iov_len = iov->MPID_IOV_LEN;
+		MPIU_DBG_MSG_D(CH3_CHANNEL, VERBOSE, "        %d", (int)iov_len);
                 MPIU_Memcpy (iov->MPID_IOV_BUF, buf, iov_len);
 
                 buflen -= iov_len;
diff --git a/src/mpid/ch3/channels/nemesis/src/mpid_nem_debug.c b/src/mpid/ch3/channels/nemesis/src/mpid_nem_debug.c
index 1ab1fe1..44dfd0b 100644
--- a/src/mpid/ch3/channels/nemesis/src/mpid_nem_debug.c
+++ b/src/mpid/ch3/channels/nemesis/src/mpid_nem_debug.c
@@ -20,7 +20,7 @@ void MPID_nem_dbg_dump_cell (volatile struct MPID_nem_cell *cell)
 
     MPIU_DBG_MSG_D (ALL, TERSE, "  src = %6d", cell->pkt.mpich.source);
     MPIU_DBG_MSG_D (ALL, TERSE, "  dst = %6d", cell->pkt.mpich.dest);
-    MPIU_DBG_MSG_D (ALL, TERSE, "  len = %6d", cell->pkt.mpich.datalen);
+    MPIU_DBG_MSG_D (ALL, TERSE, "  len = %6d", (int)cell->pkt.mpich.datalen);
     MPIU_DBG_MSG_D (ALL, TERSE, "  sqn = %6d", cell->pkt.mpich.seqno);
     MPIU_DBG_MSG_D (ALL, TERSE, "  typ = %6d", cell->pkt.mpich.type);
 
diff --git a/src/mpid/ch3/channels/nemesis/src/mpid_nem_init.c b/src/mpid/ch3/channels/nemesis/src/mpid_nem_init.c
index 19df691..7a45652 100644
--- a/src/mpid/ch3/channels/nemesis/src/mpid_nem_init.c
+++ b/src/mpid/ch3/channels/nemesis/src/mpid_nem_init.c
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "mpid_nem_pre.h"
+#include "mpiimpl.h"
 #include "mpid_nem_impl.h"
 #include "mpid_nem_nets.h"
 #include <errno.h>
diff --git a/src/mpid/ch3/channels/nemesis/src/mpid_nem_lmt_shm.c b/src/mpid/ch3/channels/nemesis/src/mpid_nem_lmt_shm.c
index 489de5c..e8ccc6d 100644
--- a/src/mpid/ch3/channels/nemesis/src/mpid_nem_lmt_shm.c
+++ b/src/mpid/ch3/channels/nemesis/src/mpid_nem_lmt_shm.c
@@ -494,7 +494,7 @@ static int lmt_shm_send_progress(MPIDI_VC_t *vc, MPID_Request *req, int *done)
         last = (data_sz - first <= copy_limit) ? data_sz : first + copy_limit;
 	MPID_Segment_pack(req->dev.segment_ptr, first, &last, (void *)copy_buf->buf[buf_num]); /* cast away volatile */
         OPA_write_barrier();
-        copy_buf->len[buf_num].val = last - first;
+        MPIU_Assign_trunc(copy_buf->len[buf_num].val, (last - first), volatile int);
 
         first = last;
         buf_num = (buf_num+1) % NUM_BUFS;
diff --git a/src/mpid/ch3/include/mpidpre.h b/src/mpid/ch3/include/mpidpre.h
index 032670a..ec37912 100644
--- a/src/mpid/ch3/include/mpidpre.h
+++ b/src/mpid/ch3/include/mpidpre.h
@@ -329,7 +329,7 @@ typedef struct MPIDI_Request {
        iov_offset points to the current head element in the IOV */
     MPID_IOV iov[MPID_IOV_LIMIT];
     int iov_count;
-    int iov_offset;
+    size_t iov_offset;
 
     /* OnDataAvail is the action to take when data is now available.
        For example, when an operation described by an iov has 
diff --git a/src/mpid/ch3/include/mpidrma.h b/src/mpid/ch3/include/mpidrma.h
index 26d1b17..1d354e4 100644
--- a/src/mpid/ch3/include/mpidrma.h
+++ b/src/mpid/ch3/include/mpidrma.h
@@ -40,7 +40,7 @@ enum MPID_Lock_state {
 typedef struct MPIDI_RMA_dtype_info { /* for derived datatypes */
     int           is_contig; 
     int           max_contig_blocks;
-    int           size;     
+    MPI_Aint      size;
     MPI_Aint      extent;   
     int           dataloop_size; /* not needed because this info is sent in 
 				    packet header. remove it after lock/unlock 
diff --git a/src/mpid/ch3/src/ch3u_handle_connection.c b/src/mpid/ch3/src/ch3u_handle_connection.c
index 6db836a..64a4743 100644
--- a/src/mpid/ch3/src/ch3u_handle_connection.c
+++ b/src/mpid/ch3/src/ch3u_handle_connection.c
@@ -423,7 +423,7 @@ static int terminate_failed_VCs(MPID_Group *new_failed_group)
         while (isspace(*c)) /* skip spaces */                                                   \
             ++c;                                                                                \
         MPIU_ERR_CHKINTERNAL(!isdigit(*c), mpi_errno, "error parsing failed process list");     \
-        *(r_p) = strtol(c, &c, 0);                                                              \
+        *(r_p) = (int)strtol(c, &c, 0);                                                         \
         while (isspace(*c)) /* skip spaces */                                                   \
             ++c;                                                                                \
     } while (0)
diff --git a/src/mpid/ch3/src/ch3u_handle_recv_req.c b/src/mpid/ch3/src/ch3u_handle_recv_req.c
index 872cfb8..deb4138 100644
--- a/src/mpid/ch3/src/ch3u_handle_recv_req.c
+++ b/src/mpid/ch3/src/ch3u_handle_recv_req.c
@@ -90,7 +90,8 @@ int MPIDI_CH3_ReqHandler_PutAccumRespComplete( MPIDI_VC_t *vc,
 
     /* Perform get in get-accumulate */
     if (rreq->dev.resp_request_handle != MPI_REQUEST_NULL) {
-        int predefined, type_size;
+        int predefined;
+        MPI_Aint type_size;
         MPIDI_CH3_Pkt_t upkt;
         MPIDI_CH3_Pkt_get_accum_resp_t *get_accum_resp_pkt = &upkt.get_accum_resp;
         MPID_Request *resp_req;
@@ -484,7 +485,8 @@ int MPIDI_CH3_ReqHandler_FOPComplete( MPIDI_VC_t *vc,
     MPID_Request *resp_req;
     MPID_Win *win_ptr;
     MPI_User_function *uop;
-    int len, one;
+    MPI_Aint len;
+    int one;
     MPIDI_STATE_DECL(MPID_STATE_MPIDI_CH3_REQHANDLER_FOPCOMPLETE);
 
     MPIDI_FUNC_ENTER(MPID_STATE_MPIDI_CH3_REQHANDLER_FOPCOMPLETE);
@@ -810,7 +812,8 @@ static int do_accumulate_op(MPID_Request *rreq)
         MPID_Segment *segp;
         DLOOP_VECTOR *dloop_vec;
         MPI_Aint first, last;
-        int vec_len, i, type_size, count;
+        int vec_len, i, count;
+        MPI_Aint type_size;
         MPI_Datatype type;
         MPID_Datatype *dtp;
         
@@ -848,7 +851,7 @@ static int do_accumulate_op(MPID_Request *rreq)
         MPID_Datatype_get_size_macro(type, type_size);
         for (i=0; i<vec_len; i++)
 	{
-            count = (dloop_vec[i].DLOOP_VECTOR_LEN)/type_size;
+            MPIU_Assign_trunc(count, (dloop_vec[i].DLOOP_VECTOR_LEN)/type_size, int);
             (*uop)((char *)rreq->dev.user_buf + MPIU_PtrToAint(dloop_vec[i].DLOOP_VECTOR_BUF),
                    (char *)rreq->dev.real_user_buf + MPIU_PtrToAint(dloop_vec[i].DLOOP_VECTOR_BUF),
                    &count, &type);
@@ -1155,7 +1158,8 @@ static int do_simple_get(MPID_Win *win_ptr, MPIDI_Win_lock_queue *lock_queue)
     MPIDI_CH3_Pkt_get_resp_t * get_resp_pkt = &upkt.get_resp;
     MPID_Request *req;
     MPID_IOV iov[MPID_IOV_LIMIT];
-    int type_size, mpi_errno=MPI_SUCCESS;
+    int mpi_errno=MPI_SUCCESS;
+    MPI_Aint type_size;
     MPIDI_STATE_DECL(MPID_STATE_DO_SIMPLE_GET);
     
     MPIDI_FUNC_ENTER(MPID_STATE_DO_SIMPLE_GET);
diff --git a/src/mpid/ch3/src/ch3u_request.c b/src/mpid/ch3/src/ch3u_request.c
index 5842b7b..8d44993 100644
--- a/src/mpid/ch3/src/ch3u_request.c
+++ b/src/mpid/ch3/src/ch3u_request.c
@@ -366,8 +366,8 @@ int MPIDI_CH3U_Request_load_recv_iov(MPID_Request * const rreq)
 				   rreq->dev.segment_first,
 				   &last, &rreq->dev.iov[0], &rreq->dev.iov_count);
 	MPIU_DBG_MSG_FMT(CH3_CHANNEL,VERBOSE,(MPIU_DBG_FDEST,
-   "post-upv: first=" MPIDI_MSG_SZ_FMT ", last=" MPIDI_MSG_SZ_FMT ", iov_n=%d, iov_offset=%d",
-			  rreq->dev.segment_first, last, rreq->dev.iov_count, rreq->dev.iov_offset));
+   "post-upv: first=" MPIDI_MSG_SZ_FMT ", last=" MPIDI_MSG_SZ_FMT ", iov_n=%d, iov_offset=%lld",
+			  rreq->dev.segment_first, last, rreq->dev.iov_count, (long long)rreq->dev.iov_offset));
 	MPIU_Assert(rreq->dev.iov_count >= 0 && rreq->dev.iov_count <= 
 		    MPID_IOV_LIMIT);
 
diff --git a/src/mpid/ch3/src/ch3u_rma_acc_ops.c b/src/mpid/ch3/src/ch3u_rma_acc_ops.c
index 29a46b1..7ff08c3 100644
--- a/src/mpid/ch3/src/ch3u_rma_acc_ops.c
+++ b/src/mpid/ch3/src/ch3u_rma_acc_ops.c
@@ -185,7 +185,7 @@ int MPIDI_Get_accumulate(const void *origin_addr, int origin_count,
                 type_size = MPID_Datatype_get_basic_size(type);
 
                 for (i=0; i<vec_len; i++) {
-                    count = (dloop_vec[i].DLOOP_VECTOR_LEN)/type_size;
+                    MPIU_Assign_trunc(count, (dloop_vec[i].DLOOP_VECTOR_LEN)/type_size, int);
                     (*uop)((char *)source_buf + MPIU_PtrToAint(dloop_vec[i].DLOOP_VECTOR_BUF),
                            (char *)target_buf + MPIU_PtrToAint(dloop_vec[i].DLOOP_VECTOR_BUF),
                            &count, &type);
@@ -298,7 +298,7 @@ int MPIDI_Compare_and_swap(const void *origin_addr, const void *compare_addr,
     {
         void *base, *dest_addr;
         int disp_unit;
-        int len;
+        MPI_Aint len;
 
         if (win_ptr->create_flavor == MPI_WIN_FLAVOR_SHARED) {
             base = win_ptr->shm_base_addrs[target_rank];
@@ -405,7 +405,8 @@ int MPIDI_Fetch_and_op(const void *origin_addr, void *result_addr,
         MPI_User_function *uop;
         void *base, *dest_addr;
         int disp_unit;
-        int len, one;
+        MPI_Aint len;
+        int one;
 
         if (win_ptr->create_flavor == MPI_WIN_FLAVOR_SHARED) {
             base = win_ptr->shm_base_addrs[target_rank];
diff --git a/src/mpid/ch3/src/ch3u_rma_ops.c b/src/mpid/ch3/src/ch3u_rma_ops.c
index f2fc7ca..cfaaf68 100644
--- a/src/mpid/ch3/src/ch3u_rma_ops.c
+++ b/src/mpid/ch3/src/ch3u_rma_ops.c
@@ -545,7 +545,7 @@ int MPIDI_Accumulate(const void *origin_addr, int origin_count, MPI_Datatype
                 if (shm_op) MPIDI_CH3I_SHM_MUTEX_LOCK(win_ptr);
 		for (i=0; i<vec_len; i++)
 		{
-		    count = (dloop_vec[i].DLOOP_VECTOR_LEN)/type_size;
+                    MPIU_Assign_trunc(count, (dloop_vec[i].DLOOP_VECTOR_LEN)/type_size, int);
 		    (*uop)((char *)source_buf + MPIU_PtrToAint(dloop_vec[i].DLOOP_VECTOR_BUF),
 			   (char *)target_buf + MPIU_PtrToAint(dloop_vec[i].DLOOP_VECTOR_BUF),
 			   &count, &type);
diff --git a/src/mpid/ch3/src/ch3u_rma_sync.c b/src/mpid/ch3/src/ch3u_rma_sync.c
index 1f6cbf9..bba3853 100644
--- a/src/mpid/ch3/src/ch3u_rma_sync.c
+++ b/src/mpid/ch3/src/ch3u_rma_sync.c
@@ -481,7 +481,7 @@ static int create_datatype(const MPIDI_RMA_dtype_info *dtype_info,
     datatypes[0] = MPI_BYTE;
     
     displaces[1] = MPIU_PtrToAint(dataloop);
-    blocklens[1] = dataloop_sz;
+    MPIU_Assign_trunc(blocklens[1], dataloop_sz, int);
     datatypes[1] = MPI_BYTE;
     
     displaces[2] = MPIU_PtrToAint(o_addr);
@@ -547,7 +547,8 @@ static int MPIDI_CH3I_Send_rma_msg(MPIDI_RMA_Op_t *rma_op, MPID_Win *win_ptr,
     MPIDI_CH3_Pkt_accum_t *accum_pkt = &upkt.accum;
     MPID_IOV iov[MPID_IOV_LIMIT];
     int mpi_errno=MPI_SUCCESS, predefined;
-    int origin_dt_derived, target_dt_derived, origin_type_size, iovcnt; 
+    int origin_dt_derived, target_dt_derived, iovcnt;
+    MPI_Aint origin_type_size;
     MPIDI_VC_t * vc;
     MPID_Comm *comm_ptr;
     MPID_Datatype *target_dtp=NULL, *origin_dtp=NULL;
@@ -862,10 +863,11 @@ static int MPIDI_CH3I_Send_contig_acc_msg(MPIDI_RMA_Op_t *rma_op,
     MPIDI_CH3_Pkt_accum_t *accum_pkt = &upkt.accum;
     MPID_IOV iov[MPID_IOV_LIMIT];
     int mpi_errno=MPI_SUCCESS;
-    int origin_type_size, iovcnt; 
+    int iovcnt;
+    MPI_Aint origin_type_size;
     MPIDI_VC_t * vc;
     MPID_Comm *comm_ptr;
-    int len;
+    size_t len;
     MPIDI_STATE_DECL(MPID_STATE_MPIDI_CH3I_SEND_CONTIG_ACC_MSG);
 
     MPIDI_RMA_FUNC_ENTER(MPID_STATE_MPIDI_CH3I_SEND_CONTIG_ACC_MSG);
@@ -874,7 +876,7 @@ static int MPIDI_CH3I_Send_contig_acc_msg(MPIDI_RMA_Op_t *rma_op,
 
     MPID_Datatype_get_size_macro(rma_op->origin_datatype, origin_type_size);
     /* FIXME: Make this size check efficient and match the packet type */
-    len = rma_op->origin_count * origin_type_size;
+    MPIU_Assign_trunc(len, rma_op->origin_count * origin_type_size, size_t);
     if (MPIR_PARAM_RMA_ACC_IMMED && len <= MPIDI_RMA_IMMED_INTS*sizeof(int)) {
 	MPIDI_CH3_Pkt_accum_immed_t * accumi_pkt = &upkt.accum_immed;
 	void *dest = accumi_pkt->data, *src = rma_op->origin_addr;
@@ -977,7 +979,7 @@ static int MPIDI_CH3I_Send_immed_rmw_msg(MPIDI_RMA_Op_t *rma_op,
     MPID_Request *rmw_req = NULL, *resp_req = NULL;
     MPIDI_VC_t *vc;
     MPID_Comm *comm_ptr;
-    int len;
+    MPI_Aint len;
     MPIDI_STATE_DECL(MPID_STATE_MPIDI_CH3I_SEND_IMMED_RMW_MSG);
 
     MPIDI_RMA_FUNC_ENTER(MPID_STATE_MPIDI_CH3I_SEND_IMMED_RMW_MSG);
@@ -2033,7 +2035,8 @@ int MPIDI_Win_unlock(int dest, MPID_Win *win_ptr)
 	 * do an optimization where the lock and the RMA operation are
 	 * sent in a single packet. Otherwise, we send a separate lock
 	 * request first. */
-        int type_size, predefined;
+        int predefined;
+        MPI_Aint type_size;
         MPIDI_VC_t *vc;
         MPIDI_RMA_Op_t *curr_op = rma_op;
 
@@ -2931,7 +2934,8 @@ static int MPIDI_CH3I_Send_lock_put_or_acc(MPID_Win *win_ptr, int target_rank)
     MPID_IOV iov[MPID_IOV_LIMIT];
     MPID_Comm *comm_ptr;
     MPID_Datatype *origin_dtp=NULL;
-    int origin_type_size, predefined;
+    int predefined;
+    MPI_Aint origin_type_size;
     MPIDI_CH3_Pkt_t upkt;
     MPIDI_CH3_Pkt_lock_put_unlock_t *lock_put_unlock_pkt = 
 	&upkt.lock_put_unlock;
@@ -3309,7 +3313,7 @@ int MPIDI_CH3_PktHandler_Put( MPIDI_VC_t *vc, MPIDI_CH3_Pkt_t *pkt,
     MPIDI_CH3_Pkt_put_t * put_pkt = &pkt->put;
     MPID_Request *req = NULL;
     int predefined;
-    int type_size;
+    MPI_Aint type_size;
     int complete = 0;
     char *data_buf = NULL;
     MPIDI_msg_sz_t data_len;
@@ -3481,7 +3485,7 @@ int MPIDI_CH3_PktHandler_Get( MPIDI_VC_t *vc, MPIDI_CH3_Pkt_t *pkt,
     MPIDI_msg_sz_t data_len;
     MPID_Win *win_ptr;
     int mpi_errno = MPI_SUCCESS;
-    int type_size;
+    MPI_Aint type_size;
     MPIDI_STATE_DECL(MPID_STATE_MPIDI_CH3_PKTHANDLER_GET);
     
     MPIDI_FUNC_ENTER(MPID_STATE_MPIDI_CH3_PKTHANDLER_GET);
@@ -3616,7 +3620,7 @@ int MPIDI_CH3_PktHandler_Accumulate( MPIDI_VC_t *vc, MPIDI_CH3_Pkt_t *pkt,
     MPIDI_msg_sz_t data_len;
     MPID_Win *win_ptr;
     int mpi_errno = MPI_SUCCESS;
-    int type_size;
+    MPI_Aint type_size;
     MPIDI_STATE_DECL(MPID_STATE_MPIDI_CH3_PKTHANDLER_ACCUMULATE);
     
     MPIDI_FUNC_ENTER(MPID_STATE_MPIDI_CH3_PKTHANDLER_ACCUMULATE);
@@ -3809,7 +3813,8 @@ int MPIDI_CH3_PktHandler_Accumulate_Immed( MPIDI_VC_t *vc, MPIDI_CH3_Pkt_t *pkt,
 	/* Data is already present */
 	if (accum_pkt->op == MPI_REPLACE) {
 	    /* no datatypes required */
-	    int len = accum_pkt->count * extent;
+            int len;
+            MPIU_Assign_trunc(len, (accum_pkt->count * extent), int);
 	    /* FIXME: use immediate copy because this is short */
 	    MPIUI_Memcpy( accum_pkt->addr, accum_pkt->data, len );
 	}
@@ -3865,7 +3870,7 @@ int MPIDI_CH3_PktHandler_CAS( MPIDI_VC_t *vc, MPIDI_CH3_Pkt_t *pkt,
     MPIDI_CH3_Pkt_cas_t *cas_pkt = &pkt->cas;
     MPID_Win *win_ptr;
     MPID_Request *req;
-    int len;
+    MPI_Aint len;
     MPIDI_STATE_DECL(MPID_STATE_MPIDI_CH3_PKTHANDLER_CAS);
 
     MPIDI_FUNC_ENTER(MPID_STATE_MPIDI_CH3_PKTHANDLER_CAS);
@@ -3937,7 +3942,7 @@ int MPIDI_CH3_PktHandler_CASResp( MPIDI_VC_t *vc ATTRIBUTE((unused)),
     int mpi_errno = MPI_SUCCESS;
     MPIDI_CH3_Pkt_cas_resp_t *cas_resp_pkt = &pkt->cas_resp;
     MPID_Request *req;
-    int len;
+    MPI_Aint len;
     MPIDI_STATE_DECL(MPID_STATE_MPIDI_CH3_PKTHANDLER_CASRESP);
     
     MPIDI_FUNC_ENTER(MPID_STATE_MPIDI_CH3_PKTHANDLER_CASRESP);
@@ -3972,7 +3977,8 @@ int MPIDI_CH3_PktHandler_FOP( MPIDI_VC_t *vc, MPIDI_CH3_Pkt_t *pkt,
     MPIDI_CH3_Pkt_fop_t *fop_pkt = &pkt->fop;
     MPID_Request *req;
     MPID_Win *win_ptr;
-    int len, data_complete = 0;
+    int data_complete = 0;
+    MPI_Aint len;
     MPIU_CHKPMEM_DECL(1);
     MPIDI_STATE_DECL(MPID_STATE_MPIDI_CH3_PKTHANDLER_FOP);
 
@@ -4064,7 +4070,8 @@ int MPIDI_CH3_PktHandler_FOPResp( MPIDI_VC_t *vc ATTRIBUTE((unused)),
     int mpi_errno = MPI_SUCCESS;
     MPIDI_CH3_Pkt_fop_resp_t *fop_resp_pkt = &pkt->fop_resp;
     MPID_Request *req;
-    int len, complete = 0;
+    int complete = 0;
+    MPI_Aint len;
     MPIDI_STATE_DECL(MPID_STATE_MPIDI_CH3_PKTHANDLER_FOPRESP);
 
     MPIDI_FUNC_ENTER(MPID_STATE_MPIDI_CH3_PKTHANDLER_FOPRESP);
@@ -4127,7 +4134,7 @@ int MPIDI_CH3_PktHandler_Get_AccumResp( MPIDI_VC_t *vc, MPIDI_CH3_Pkt_t *pkt,
     char *data_buf = NULL;
     MPIDI_msg_sz_t data_len;
     int mpi_errno = MPI_SUCCESS;
-    int type_size;
+    MPI_Aint type_size;
     MPIDI_STATE_DECL(MPID_STATE_MPIDI_CH3_PKTHANDLER_GET_ACCUM_RESP);
 
     MPIDI_FUNC_ENTER(MPID_STATE_MPIDI_CH3_PKTHANDLER_GET_ACCUM_RESP);
@@ -4255,7 +4262,7 @@ int MPIDI_CH3_PktHandler_LockPutUnlock( MPIDI_VC_t *vc, MPIDI_CH3_Pkt_t *pkt,
 	&pkt->lock_put_unlock;
     MPID_Win *win_ptr = NULL;
     MPID_Request *req = NULL;
-    int type_size;
+    MPI_Aint type_size;
     int complete;
     char *data_buf = NULL;
     MPIDI_msg_sz_t data_len;
@@ -4402,7 +4409,7 @@ int MPIDI_CH3_PktHandler_LockGetUnlock( MPIDI_VC_t *vc, MPIDI_CH3_Pkt_t *pkt,
     MPIDI_CH3_Pkt_lock_get_unlock_t * lock_get_unlock_pkt = 
 	&pkt->lock_get_unlock;
     MPID_Win *win_ptr = NULL;
-    int type_size;
+    MPI_Aint type_size;
     int mpi_errno = MPI_SUCCESS;
     MPIDI_STATE_DECL(MPID_STATE_MPIDI_CH3_PKTHANDLER_LOCKGETUNLOCK);
     
@@ -4521,7 +4528,7 @@ int MPIDI_CH3_PktHandler_LockAccumUnlock( MPIDI_VC_t *vc, MPIDI_CH3_Pkt_t *pkt,
     MPID_Request *req = NULL;
     MPID_Win *win_ptr = NULL;
     MPIDI_Win_lock_queue *curr_ptr = NULL, *prev_ptr = NULL, *new_ptr = NULL;
-    int type_size;
+    MPI_Aint type_size;
     int complete;
     char *data_buf = NULL;
     MPIDI_msg_sz_t data_len;
@@ -4655,7 +4662,7 @@ int MPIDI_CH3_PktHandler_GetResp( MPIDI_VC_t *vc ATTRIBUTE((unused)),
     char *data_buf = NULL;
     MPIDI_msg_sz_t data_len;
     int mpi_errno = MPI_SUCCESS;
-    int type_size;
+    MPI_Aint type_size;
     MPIDI_STATE_DECL(MPID_STATE_MPIDI_CH3_PKTHANDLER_GETRESP);
     
     MPIDI_FUNC_ENTER(MPID_STATE_MPIDI_CH3_PKTHANDLER_GETRESP);
diff --git a/src/mpid/ch3/src/mpid_vc.c b/src/mpid/ch3/src/mpid_vc.c
index 0d4afa6..52fda47 100644
--- a/src/mpid/ch3/src/mpid_vc.c
+++ b/src/mpid/ch3/src/mpid_vc.c
@@ -919,7 +919,7 @@ static int parse_mapping(char *map_str, mapping_type_t *type, map_block_t **map,
 
         if (!isdigit(*c))
             parse_error();
-        (*map)[i].start_id = strtol(c, &c, 0);
+        (*map)[i].start_id = (int)strtol(c, &c, 0);
         skip_space(c);
 
         expect_and_skip_c(c, ',');
@@ -927,7 +927,7 @@ static int parse_mapping(char *map_str, mapping_type_t *type, map_block_t **map,
 
         if (!isdigit(*c))
             parse_error();
-        (*map)[i].count = strtol(c, &c, 0);
+        (*map)[i].count = (int)strtol(c, &c, 0);
         skip_space(c);
 
         expect_and_skip_c(c, ',');
@@ -935,7 +935,7 @@ static int parse_mapping(char *map_str, mapping_type_t *type, map_block_t **map,
 
         if (!isdigit(*c))
             parse_error();
-        (*map)[i].size = strtol(c, &c, 0);
+        (*map)[i].size = (int)strtol(c, &c, 0);
 
         expect_and_skip_c(c, ')');
         skip_space(c);
diff --git a/src/mpid/ch3/src/mpidi_isend_self.c b/src/mpid/ch3/src/mpidi_isend_self.c
index 8ec7f82..a18ec48 100644
--- a/src/mpid/ch3/src/mpidi_isend_self.c
+++ b/src/mpid/ch3/src/mpidi_isend_self.c
@@ -85,7 +85,7 @@ int MPIDI_Isend_self(const void * buf, int count, MPI_Datatype datatype, int ran
     {
 	if (type != MPIDI_REQUEST_TYPE_RSEND)
 	{
-	    int dt_sz;
+	    MPI_Aint dt_sz;
 	
 	    /* FIXME: Insert code here to buffer small sends in a temporary buffer? */
 
diff --git a/src/mpid/common/datatype/dataloop/segment_packunpack.c b/src/mpid/common/datatype/dataloop/segment_packunpack.c
index 661bd93..8ed64ad 100644
--- a/src/mpid/common/datatype/dataloop/segment_packunpack.c
+++ b/src/mpid/common/datatype/dataloop/segment_packunpack.c
@@ -166,8 +166,8 @@ int PREPEND_PREFIX(Segment_vector_m2m)(DLOOP_Offset *blocks_p,
     cbufp = (char*) paramp->userbuf + rel_off;
     DLOOP_Handle_get_size_macro(el_type, el_size);
 
-    whole_count = (blksz > 0) ? (*blocks_p / (DLOOP_Offset) blksz) : 0;
-    blocks_left = (blksz > 0) ? (*blocks_p % (DLOOP_Offset) blksz) : 0;
+    whole_count = (DLOOP_Count)((blksz > 0) ? (*blocks_p / (DLOOP_Offset) blksz) : 0);
+    blocks_left = (DLOOP_Count)((blksz > 0) ? (*blocks_p % (DLOOP_Offset) blksz) : 0);
 
     if (paramp->direction == DLOOP_M2M_TO_USERBUF) {
 	if (el_size == 8
@@ -295,7 +295,8 @@ int PREPEND_PREFIX(Segment_blkidx_m2m)(DLOOP_Offset *blocks_p,
 					 rel_off + offsetarray[curblock]);
 	cbufp = (char*) paramp->userbuf + rel_off + offsetarray[curblock];
 
-	if (blocklen > blocks_left) blocklen = blocks_left;
+        /* TODO check for truncation b/c of DLOOP_Offset-->DLOOP_Count */
+	if (blocklen > blocks_left) blocklen = (DLOOP_Count)blocks_left;
 
 	if (paramp->direction == DLOOP_M2M_TO_USERBUF) {
 	    src  = paramp->streambuf;
diff --git a/src/mpid/common/datatype/dataloop/veccpy.h b/src/mpid/common/datatype/dataloop/veccpy.h
index ea138a8..e1afabb 100644
--- a/src/mpid/common/datatype/dataloop/veccpy.h
+++ b/src/mpid/common/datatype/dataloop/veccpy.h
@@ -56,23 +56,26 @@
     type * tmp_src = l_src;                                     \
     register int _i, j, k;		                        \
     unsigned long total_count = count * nelms;                  \
-    const DLOOP_Offset l_stride = stride;				\
+    const DLOOP_Offset l_stride = stride;                       \
                                                                 \
+    DLOOP_Assert(stride <= INT_MAX);                            \
+    DLOOP_Assert(total_count <= INT_MAX);                       \
+    DLOOP_Assert(nelms <= INT_MAX);                             \
     if (nelms == 1) {                                           \
-        for (_i = total_count; _i; _i--) {			        \
+        for (_i = (int)total_count; _i; _i--) {                 \
             *l_dest++ = *l_src;				        \
             l_src += l_stride;                                  \
         }							\
     }                                                           \
     else if (nelms == 2) {                                      \
-        for (_i = total_count; _i; _i -= 2) {			\
+        for (_i = (int)total_count; _i; _i -= 2) {              \
             *l_dest++ = l_src[0];				\
             *l_dest++ = l_src[1];				\
             l_src += l_stride;                                  \
         }							\
     }                                                           \
     else if (nelms == 3) {                                      \
-        for (_i = total_count; _i; _i -= 3) {			\
+        for (_i = (int)total_count; _i; _i -= 3) {              \
             *l_dest++ = l_src[0];				\
             *l_dest++ = l_src[1];				\
             *l_dest++ = l_src[2];				\
@@ -80,7 +83,7 @@
         }							\
     }                                                           \
     else if (nelms == 4) {                                      \
-        for (_i = total_count; _i; _i -= 4) {			\
+        for (_i = (int)total_count; _i; _i -= 4) {              \
             *l_dest++ = l_src[0];				\
             *l_dest++ = l_src[1];				\
             *l_dest++ = l_src[2];				\
@@ -89,7 +92,7 @@
         }							\
     }                                                           \
     else if (nelms == 5) {                                      \
-        for (_i = total_count; _i; _i -= 5) {			\
+        for (_i = (int)total_count; _i; _i -= 5) {              \
             *l_dest++ = l_src[0];				\
             *l_dest++ = l_src[1];				\
             *l_dest++ = l_src[2];				\
@@ -99,7 +102,7 @@
         }							\
     }                                                           \
     else if (nelms == 6) {                                      \
-        for (_i = total_count; _i; _i -= 6) {			\
+        for (_i = (int)total_count; _i; _i -= 6) {              \
             *l_dest++ = l_src[0];				\
             *l_dest++ = l_src[1];				\
             *l_dest++ = l_src[2];				\
@@ -110,7 +113,7 @@
         }							\
     }                                                           \
     else if (nelms == 7) {                                      \
-        for (_i = total_count; _i; _i -= 7) {			\
+        for (_i = (int)total_count; _i; _i -= 7) {              \
             *l_dest++ = l_src[0];				\
             *l_dest++ = l_src[1];				\
             *l_dest++ = l_src[2];				\
@@ -122,7 +125,7 @@
         }							\
     }                                                           \
     else if (nelms == 8) {                                      \
-        for (_i = total_count; _i; _i -= 8) {			\
+        for (_i = (int)total_count; _i; _i -= 8) {              \
             *l_dest++ = l_src[0];				\
             *l_dest++ = l_src[1];				\
             *l_dest++ = l_src[2];				\
@@ -135,10 +138,10 @@
         }							\
     }                                                           \
     else {                                                      \
-        _i = total_count;                                        \
+        _i = (int)total_count;                                  \
         while (_i) {                                             \
             tmp_src = l_src;                                    \
-            j = nelms;                                          \
+            j = (int)nelms;                                     \
             while (j >= 8) {                                    \
                 *l_dest++ = tmp_src[0];				\
                 *l_dest++ = tmp_src[1];				\
@@ -170,21 +173,24 @@
     unsigned long total_count = count * nelms;                  \
     const DLOOP_Offset l_stride = stride;				\
                                                                 \
+    DLOOP_Assert(stride <= INT_MAX);                            \
+    DLOOP_Assert(total_count <= INT_MAX);                       \
+    DLOOP_Assert(nelms <= INT_MAX);                             \
     if (nelms == 1) {                                           \
-        for (_i = total_count; _i; _i--) {			        \
+        for (_i = (int)total_count; _i; _i--) {                 \
             *l_dest++ = *l_src;				        \
             l_src = (type *) ((char *) l_src + l_stride);	\
         }							\
     }                                                           \
     else if (nelms == 2) {                                      \
-        for (_i = total_count; _i; _i -= 2) {			\
+        for (_i = (int)total_count; _i; _i -= 2) {              \
             *l_dest++ = l_src[0];				\
             *l_dest++ = l_src[1];				\
             l_src = (type *) ((char *) l_src + l_stride);	\
         }							\
     }                                                           \
     else if (nelms == 3) {                                      \
-        for (_i = total_count; _i; _i -= 3) {			\
+        for (_i = (int)total_count; _i; _i -= 3) {              \
             *l_dest++ = l_src[0];				\
             *l_dest++ = l_src[1];				\
             *l_dest++ = l_src[2];				\
@@ -192,7 +198,7 @@
         }							\
     }                                                           \
     else if (nelms == 4) {                                      \
-        for (_i = total_count; _i; _i -= 4) {			\
+        for (_i = (int)total_count; _i; _i -= 4) {              \
             *l_dest++ = l_src[0];				\
             *l_dest++ = l_src[1];				\
             *l_dest++ = l_src[2];				\
@@ -201,7 +207,7 @@
         }							\
     }                                                           \
     else if (nelms == 5) {                                      \
-        for (_i = total_count; _i; _i -= 5) {			\
+        for (_i = (int)total_count; _i; _i -= 5) {              \
             *l_dest++ = l_src[0];				\
             *l_dest++ = l_src[1];				\
             *l_dest++ = l_src[2];				\
@@ -211,7 +217,7 @@
         }							\
     }                                                           \
     else if (nelms == 6) {                                      \
-        for (_i = total_count; _i; _i -= 6) {			\
+        for (_i = (int)total_count; _i; _i -= 6) {              \
             *l_dest++ = l_src[0];				\
             *l_dest++ = l_src[1];				\
             *l_dest++ = l_src[2];				\
@@ -222,7 +228,7 @@
         }							\
     }                                                           \
     else if (nelms == 7) {                                      \
-        for (_i = total_count; _i; _i -= 7) {			\
+        for (_i = (int)total_count; _i; _i -= 7) {              \
             *l_dest++ = l_src[0];				\
             *l_dest++ = l_src[1];				\
             *l_dest++ = l_src[2];				\
@@ -234,7 +240,7 @@
         }							\
     }                                                           \
     else if (nelms == 8) {                                      \
-        for (_i = total_count; _i; _i -= 8) {			\
+        for (_i = (int)total_count; _i; _i -= 8) {              \
             *l_dest++ = l_src[0];				\
             *l_dest++ = l_src[1];				\
             *l_dest++ = l_src[2];				\
@@ -247,10 +253,10 @@
         }							\
     }                                                           \
     else {                                                      \
-        _i = total_count;                                        \
+        _i = (int)total_count;                                  \
         while (_i) {                                             \
             tmp_src = l_src;                                    \
-            j = nelms;                                          \
+            j = (int)nelms;                                     \
             while (j >= 8) {                                    \
                 *l_dest++ = tmp_src[0];				\
                 *l_dest++ = tmp_src[1];				\
@@ -282,21 +288,24 @@
     unsigned long total_count = count * nelms;                  \
     const DLOOP_Offset l_stride = stride;				\
                                                                 \
+    DLOOP_Assert(stride <= INT_MAX);                            \
+    DLOOP_Assert(total_count <= INT_MAX);                       \
+    DLOOP_Assert(nelms <= INT_MAX);                             \
     if (nelms == 1) {                                           \
-        for (_i = total_count; _i; _i--) {			        \
+        for (_i = (int)total_count; _i; _i--) {                 \
             *l_dest = *l_src++;				        \
             l_dest += l_stride;                                 \
         }							\
     }                                                           \
     else if (nelms == 2) {                                      \
-        for (_i = total_count; _i; _i -= 2) {			\
+        for (_i = (int)total_count; _i; _i -= 2) {              \
             l_dest[0] = *l_src++;				\
             l_dest[1] = *l_src++;				\
             l_dest += l_stride;                                 \
         }							\
     }                                                           \
     else if (nelms == 3) {                                      \
-        for (_i = total_count; _i; _i -= 3) {			\
+        for (_i = (int)total_count; _i; _i -= 3) {              \
             l_dest[0] = *l_src++;				\
             l_dest[1] = *l_src++;				\
             l_dest[2] = *l_src++;				\
@@ -304,7 +313,7 @@
         }							\
     }                                                           \
     else if (nelms == 4) {                                      \
-        for (_i = total_count; _i; _i -= 4) {			\
+        for (_i = (int)total_count; _i; _i -= 4) {              \
             l_dest[0] = *l_src++;				\
             l_dest[1] = *l_src++;				\
             l_dest[2] = *l_src++;				\
@@ -313,7 +322,7 @@
         }							\
     }                                                           \
     else if (nelms == 5) {                                      \
-        for (_i = total_count; _i; _i -= 5) {			\
+        for (_i = (int)total_count; _i; _i -= 5) {              \
             l_dest[0] = *l_src++;				\
             l_dest[1] = *l_src++;				\
             l_dest[2] = *l_src++;				\
@@ -323,7 +332,7 @@
         }							\
     }                                                           \
     else if (nelms == 6) {                                      \
-        for (_i = total_count; _i; _i -= 6) {			\
+        for (_i = (int)total_count; _i; _i -= 6) {              \
             l_dest[0] = *l_src++;				\
             l_dest[1] = *l_src++;				\
             l_dest[2] = *l_src++;				\
@@ -334,7 +343,7 @@
         }							\
     }                                                           \
     else if (nelms == 7) {                                      \
-        for (_i = total_count; _i; _i -= 7) {			\
+        for (_i = (int)total_count; _i; _i -= 7) {              \
             l_dest[0] = *l_src++;				\
             l_dest[1] = *l_src++;				\
             l_dest[2] = *l_src++;				\
@@ -346,7 +355,7 @@
         }							\
     }                                                           \
     else if (nelms == 8) {                                      \
-        for (_i = total_count; _i; _i -= 8) {			\
+        for (_i = (int)total_count; _i; _i -= 8) {              \
             l_dest[0] = *l_src++;				\
             l_dest[1] = *l_src++;				\
             l_dest[2] = *l_src++;				\
@@ -359,10 +368,10 @@
         }							\
     }                                                           \
     else {                                                      \
-        _i = total_count;                                        \
+        _i = (int)total_count;                                  \
         while (_i) {                                             \
             tmp_dest = l_dest;                                  \
-            j = nelms;                                          \
+            j = (int)nelms;                                     \
             while (j >= 8) {                                    \
                 tmp_dest[0] = *l_src++;				\
                 tmp_dest[1] = *l_src++;				\
@@ -392,23 +401,26 @@
     type * tmp_dest = l_dest;                                   \
     register int _i, j, k;		                        \
     unsigned long total_count = count * nelms;                  \
-    const DLOOP_Offset l_stride = stride;				\
+    const DLOOP_Offset l_stride = stride;                       \
                                                                 \
+    DLOOP_Assert(stride <= INT_MAX);                            \
+    DLOOP_Assert(total_count <= INT_MAX);                       \
+    DLOOP_Assert(nelms <= INT_MAX);                             \
     if (nelms == 1) {                                           \
-        for (_i = total_count; _i; _i--) {			        \
+        for (_i = (int)total_count; _i; _i--) {                 \
             *l_dest = *l_src++;				        \
             l_dest = (type *) ((char *) l_dest + l_stride);	\
         }							\
     }                                                           \
     else if (nelms == 2) {                                      \
-        for (_i = total_count; _i; _i -= 2) {			\
+        for (_i = (int)total_count; _i; _i -= 2) {              \
             l_dest[0] = *l_src++;				\
             l_dest[1] = *l_src++;				\
             l_dest = (type *) ((char *) l_dest + l_stride);	\
         }							\
     }                                                           \
     else if (nelms == 3) {                                      \
-        for (_i = total_count; _i; _i -= 3) {			\
+        for (_i = (int)total_count; _i; _i -= 3) {              \
             l_dest[0] = *l_src++;				\
             l_dest[1] = *l_src++;				\
             l_dest[2] = *l_src++;				\
@@ -416,7 +428,7 @@
         }							\
     }                                                           \
     else if (nelms == 4) {                                      \
-        for (_i = total_count; _i; _i -= 4) {			\
+        for (_i = (int)total_count; _i; _i -= 4) {              \
             l_dest[0] = *l_src++;				\
             l_dest[1] = *l_src++;				\
             l_dest[2] = *l_src++;				\
@@ -425,7 +437,7 @@
         }							\
     }                                                           \
     else if (nelms == 5) {                                      \
-        for (_i = total_count; _i; _i -= 5) {			\
+        for (_i = (int)total_count; _i; _i -= 5) {              \
             l_dest[0] = *l_src++;				\
             l_dest[1] = *l_src++;				\
             l_dest[2] = *l_src++;				\
@@ -435,7 +447,7 @@
         }							\
     }                                                           \
     else if (nelms == 6) {                                      \
-        for (_i = total_count; _i; _i -= 6) {			\
+        for (_i = (int)total_count; _i; _i -= 6) {              \
             l_dest[0] = *l_src++;				\
             l_dest[1] = *l_src++;				\
             l_dest[2] = *l_src++;				\
@@ -446,7 +458,7 @@
         }							\
     }                                                           \
     else if (nelms == 7) {                                      \
-        for (_i = total_count; _i; _i -= 7) {			\
+        for (_i = (int)total_count; _i; _i -= 7) {              \
             l_dest[0] = *l_src++;				\
             l_dest[1] = *l_src++;				\
             l_dest[2] = *l_src++;				\
@@ -458,7 +470,7 @@
         }							\
     }                                                           \
     else if (nelms == 8) {                                      \
-        for (_i = total_count; _i; _i -= 8) {			\
+        for (_i = (int)total_count; _i; _i -= 8) {              \
             l_dest[0] = *l_src++;				\
             l_dest[1] = *l_src++;				\
             l_dest[2] = *l_src++;				\
@@ -471,10 +483,10 @@
         }							\
     }                                                           \
     else {                                                      \
-        _i = total_count;                                        \
+        _i = (int)total_count;                                  \
         while (_i) {                                             \
             tmp_dest = l_dest;                                  \
-            j = nelms;                                          \
+            j = (int)nelms;                                     \
             while (j >= 8) {                                    \
                 tmp_dest[0] = *l_src++;				\
                 tmp_dest[1] = *l_src++;				\
diff --git a/src/mpid/common/datatype/mpid_datatype.h b/src/mpid/common/datatype/mpid_datatype.h
index 22041b2..84ad551 100644
--- a/src/mpid/common/datatype/mpid_datatype.h
+++ b/src/mpid/common/datatype/mpid_datatype.h
@@ -358,7 +358,7 @@ typedef struct MPID_Datatype {
     MPIU_OBJECT_HEADER; /* adds handle and ref_count fields */
 
     /* basic parameters for datatype, accessible via MPI calls */
-    int      size;
+    MPI_Aint size;
     MPI_Aint extent, ub, lb, true_ub, true_lb;
 
     /* chars affecting subsequent datatype processing and creation */
diff --git a/src/mpid/common/datatype/mpid_type_indexed.c b/src/mpid/common/datatype/mpid_type_indexed.c
index 48d4642..0e3e259 100644
--- a/src/mpid/common/datatype/mpid_type_indexed.c
+++ b/src/mpid/common/datatype/mpid_type_indexed.c
@@ -41,7 +41,8 @@ int MPID_Type_indexed(int count,
     int mpi_errno = MPI_SUCCESS;
     int is_builtin, old_is_contig;
     int i, contig_count;
-    int el_sz, el_ct, old_ct, old_sz;
+    int el_ct, old_ct;
+    MPI_Aint el_sz, old_sz;
     MPI_Aint old_lb, old_ub, old_extent, old_true_lb, old_true_ub;
     MPI_Aint min_lb = 0, max_ub = 0, eff_disp;
     MPI_Datatype el_type;
@@ -109,8 +110,8 @@ int MPID_Type_indexed(int count,
 	new_dtp->has_sticky_ub = 0;
 	new_dtp->has_sticky_lb = 0;
 
-	new_dtp->alignsize    = el_sz; /* ??? */
-	new_dtp->element_size = (MPI_Aint) el_sz;
+        MPIU_Assign_trunc(new_dtp->alignsize, el_sz, int);
+	new_dtp->element_size = el_sz;
 	new_dtp->eltype       = el_type;
 
 	new_dtp->max_contig_blocks = count;
diff --git a/src/mpid/common/sched/mpid_sched.c b/src/mpid/common/sched/mpid_sched.c
index a07e8e1..d44412a 100644
--- a/src/mpid/common/sched/mpid_sched.c
+++ b/src/mpid/common/sched/mpid_sched.c
@@ -122,7 +122,7 @@ fn_fail:
 /* initiates the schedule entry "e" in the NBC described by "s", where
  * "e" is at "idx" in "s".  This means posting nonblocking sends/recvs,
  * performing reductions, calling callbacks, etc. */
-static int MPIDU_Sched_start_entry(struct MPIDU_Sched *s, int idx, struct MPIDU_Sched_entry *e)
+static int MPIDU_Sched_start_entry(struct MPIDU_Sched *s, size_t idx, struct MPIDU_Sched_entry *e)
 {
     int mpi_errno = MPI_SUCCESS;
     int context_offset;
@@ -237,7 +237,7 @@ fn_fail:
 static int MPIDU_Sched_continue(struct MPIDU_Sched *s)
 {
     int mpi_errno = MPI_SUCCESS;
-    int i;
+    size_t i;
 
     for (i = s->idx; i < s->num_entries; ++i) {
         struct MPIDU_Sched_entry *e = &s->entries[i];
@@ -680,12 +680,12 @@ int MPID_Sched_copy(const void *inbuf,  int incount,  MPI_Datatype intype,
     /* some sanity checking up front */
 #if defined(HAVE_ERROR_CHECKING) && !defined(NDEBUG)
     {
-        int intype_size, outtype_size;
+        MPI_Aint intype_size, outtype_size;
         MPID_Datatype_get_size_macro(intype, intype_size);
         MPID_Datatype_get_size_macro(outtype, outtype_size);
         if (incount * intype_size > outcount * outtype_size) {
-            MPIU_Error_printf("truncation: intype=%#x, intype_size=%d, incount=%d, outtype=%#x, outtype_size=%d outcount=%d\n",
-                              intype, intype_size, incount, outtype, outtype_size, outcount);
+            MPIU_Error_printf("truncation: intype=%#x, intype_size=%lld, incount=%d, outtype=%#x, outtype_size=%lld outcount=%d\n",
+                              intype, (long long)intype_size, incount, outtype, (long long)outtype_size, outcount);
         }
     }
 #endif
@@ -787,7 +787,7 @@ fn_fail:
 static int MPIDU_Sched_progress_state(struct MPIDU_Sched_state *state, int *made_progress)
 {
     int mpi_errno = MPI_SUCCESS;
-    int i;
+    size_t i;
     struct MPIDU_Sched *s;
     struct MPIDU_Sched *tmp;
 
diff --git a/src/util/dbg/dbg_printf.c b/src/util/dbg/dbg_printf.c
index 0810ca0..dc674ee 100644
--- a/src/util/dbg/dbg_printf.c
+++ b/src/util/dbg/dbg_printf.c
@@ -625,7 +625,7 @@ static int MPIU_DBG_ProcessArgs( int *argc_p, char ***argv_p )
 		    if (*p == '=' && p[1] != 0) {
 			char *sOut;
 			p++;
-			whichRank = strtol( p, &sOut, 10 );
+			whichRank = (int)strtol( p, &sOut, 10 );
 			if (p == sOut) {
 			    MPIU_DBG_Usage( "-mpich-dbg-rank", 0 );
 			    whichRank = -1;
@@ -678,7 +678,7 @@ static int MPIU_DBG_ProcessEnv( void )
     s = getenv( "MPICH_DBG_RANK" );
     if (s) {
 	char *sOut;
-	whichRank = strtol( s, &sOut, 10 );
+	whichRank = (int)strtol( s, &sOut, 10 );
 	if (s == sOut) {
 	    MPIU_DBG_Usage( "MPICH_DBG_RANK", 0 );
 	    whichRank = -1;
@@ -1129,17 +1129,17 @@ static int MPIU_DBG_OpenFile(FILE **dbg_fp)
 static int setDBGClass( const char *s )
 {
     int i;
-    int slen = 0;
-    int len = 0;
-	    
+    size_t slen = 0;
+    size_t len = 0;
+
     if (s && *s) slen = strlen(s);
 
     while (s && *s) {
 	for (i=0; MPIU_Classnames[i].LCName; i++) {
 	    /* The LCLen and UCLen *should* be the same, but
 	       just in case, we separate them */
-	    int LClen = strlen(MPIU_Classnames[i].LCName);
-	    int UClen = strlen(MPIU_Classnames[i].UCName);
+	    size_t LClen = strlen(MPIU_Classnames[i].LCName);
+	    size_t UClen = strlen(MPIU_Classnames[i].UCName);
 	    int matchClass = 0;
 
 	    /* Allow the upper case and lower case in all cases */
diff --git a/src/util/instrm/instr.c b/src/util/instrm/instr.c
index cf94ed4..340cc3a 100644
--- a/src/util/instrm/instr.c
+++ b/src/util/instrm/instr.c
@@ -116,7 +116,7 @@ int MPIU_INSTR_ToStr_Duration_Count( char *buf, size_t maxBuf, void *ptr )
     snprintf( buf, maxBuf, "%-40s:\t%d\t%e", dPtr->desc, dPtr->count, ttime );
     if (dPtr->nitems) {
 	char *p;
-	int  len = strlen(buf);
+	size_t  len = strlen(buf);
 	int  i;
 	/* Add each integer value, separated by a tab. */
 	maxBuf -= len;
diff --git a/src/util/wrappers/mpiu_shm_wrappers.h b/src/util/wrappers/mpiu_shm_wrappers.h
index 02774e4..3224faf 100644
--- a/src/util/wrappers/mpiu_shm_wrappers.h
+++ b/src/util/wrappers/mpiu_shm_wrappers.h
@@ -301,7 +301,7 @@ fn_fail:
 #undef FCNAME
 #define FCNAME MPIU_QUOTE(FUNCNAME)
 static inline int MPIU_SHMW_Hnd_deserialize(
-    MPIU_SHMW_Hnd_t hnd, const char *str_hnd, int str_hnd_len)
+    MPIU_SHMW_Hnd_t hnd, const char *str_hnd, size_t str_hnd_len)
 {
     int mpi_errno = MPI_SUCCESS;
     int rc = -1;
@@ -615,7 +615,7 @@ static inline int MPIU_SHMW_Seg_create_attach_templ(
             MPI_ERR_OTHER, "**lseek", "**lseek %s",
             MPIU_OSW_Strerror(MPIU_OSW_Get_errno()));
 
-        MPIU_OSW_RETRYON_INTR((rc == -1), (rc = write(lhnd, "", 1)));
+        MPIU_OSW_RETRYON_INTR((rc == -1), (rc = (int)write(lhnd, "", 1)));
         MPIU_ERR_CHKANDJUMP((rc == -1), mpi_errno, MPI_ERR_OTHER,
             "**write");
 

-----------------------------------------------------------------------


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list