Mask out bit flags correctly
authorPhil Miller <mille121@illinois.edu>
Wed, 3 Feb 2010 17:05:21 +0000 (11:05 -0600)
committerPhil Miller <mille121@illinois.edu>
Wed, 3 Feb 2010 17:05:21 +0000 (11:05 -0600)
src/ck-core/ck.C
src/ck-core/ckarray.C

index b6151596beb065dd2495022dc527672bb3b5a6b9..775f020dfd70635c6f66a091ed9a5bfc90fd2d4c 100644 (file)
@@ -1438,7 +1438,7 @@ void CkSendMsgInline(int entryIndex, void *msg, const CkChareID *pCid, int opts)
   }
   else {
     //No way to inline a cross-processor message:
-    CkSendMsg(entryIndex,msg,pCid,opts&!CK_MSG_INLINE);
+    CkSendMsg(entryIndex, msg, pCid, opts & (~CK_MSG_INLINE));
   }
 }
 
@@ -1551,7 +1551,7 @@ void CkSendMsgBranchInline(int eIdx, void *msg, int destPE, CkGroupID gID, int o
     }
   }
   //Can't inline-- send the usual way, clear CK_MSG_INLINE
-  CkSendMsgBranch(eIdx,msg,destPE,gID,opts&!CK_MSG_INLINE);
+  CkSendMsgBranch(eIdx, msg, destPE, gID, opts & (~CK_MSG_INLINE));
 }
 
 extern "C"
@@ -1686,7 +1686,7 @@ void CkSendMsgNodeBranchInline(int eIdx, void *msg, int node, CkGroupID gID, int
     }
   }
   //Can't inline-- send the usual way
-  CkSendMsgNodeBranch(eIdx,msg,node,gID,opts&!CK_MSG_INLINE);
+  CkSendMsgNodeBranch(eIdx, msg, node, gID, opts & ~(CK_MSG_INLINE));
 }
 
 extern "C"
index 7bc0d69b722ce474885bb2bb3e3a2920358287c1..1cd66624fd50720b1a1a115ede0014f908a92353 100644 (file)
@@ -774,7 +774,7 @@ void CProxyElement_ArrayBase::ckSend(CkArrayMessage *msg, int ep, int opts) cons
           }
          else {
            if (opts & CK_MSG_INLINE)
-             localbranch->deliver(msg, CkDeliver_inline, opts&!CK_MSG_INLINE);
+             localbranch->deliver(msg, CkDeliver_inline, opts & (~CK_MSG_INLINE));
            else
              localbranch->deliver(msg, CkDeliver_queue, opts);
          }