[DAPL] fix x86(32-bit) pointer sign extension warning when going to wr_id (u64).
[mirror/winof/.git] / ulp / dapl / dapl / ibal / dapl_ibal_dto.h
index ae38bf5..cd46687 100644 (file)
@@ -53,7 +53,13 @@ dapls_ib_post_recv (
     DAT_COUNT           i, total_len;\r
 \r
     dapl_os_memzero(&recv_wr, sizeof(ib_recv_wr_t));\r
+#ifndef _WIN64\r
+       // Fix MS compiler warning C4826: Conversion from 'DAPL_COOKIE *' to\r
+       // 'DAT_UINT64' sign-extends; This may cause unexpected runtime behavior.\r
+    recv_wr.wr_id        = (DAT_UINT64) (DAT_UINT32) cookie;\r
+#else\r
     recv_wr.wr_id        = (DAT_UINT64) cookie;\r
+#endif\r
     recv_wr.num_ds       = num_segments;\r
 \r
        if( num_segments <= DAPL_DEFAULT_DS_ENTRIES )\r
@@ -187,7 +193,13 @@ dapls_ib_post_send (
                        op_type, num_segments, total_len,\r
                        cookie, cookie->val.dto.cookie.as_64 );\r
     }\r
-    send_wr.wr_id = (DAT_UINT64)cookie;\r
+#ifndef _WIN64\r
+       // Fix MS compiler warning C4826: Conversion from 'DAPL_COOKIE *' to\r
+       // 'DAT_UTIN64' sign-extends; This may cause unexpected runtime behavior.\r
+    send_wr.wr_id = (DAT_UINT64) (DAT_UINT32)cookie;\r
+#else\r
+    send_wr.wr_id = (DAT_UINT64) cookie;\r
+#endif\r
 \r
     /* RC for now */\r
     if (total_len > 0)\r