Author: Simon Pilgrim
Date: 2019-11-04T15:12:01Z
New Revision: a0324e911374441151903ed0d828e0fc1994c167

URL: 
https://github.com/llvm/llvm-project/commit/a0324e911374441151903ed0d828e0fc1994c167
DIFF: 
https://github.com/llvm/llvm-project/commit/a0324e911374441151903ed0d828e0fc1994c167.diff

LOG: SanitizerMask::bitPosToMask - fix operator precedence warnings. NFCI.

Fix static analyzer operator precedence warnings with suitable bracketing. Pull 
out the mask generation code so clang-format doesn't make such a mess of it.

Added: 
    

Modified: 
    clang/include/clang/Basic/Sanitizers.h

Removed: 
    


################################################################################
diff  --git a/clang/include/clang/Basic/Sanitizers.h 
b/clang/include/clang/Basic/Sanitizers.h
index 5961abf2aa19..c6b0446cea4f 100644
--- a/clang/include/clang/Basic/Sanitizers.h
+++ b/clang/include/clang/Basic/Sanitizers.h
@@ -52,10 +52,11 @@ class SanitizerMask {
 
   /// Create a mask with a bit enabled at position Pos.
   static constexpr SanitizerMask bitPosToMask(const unsigned Pos) {
-    return SanitizerMask((Pos < kNumBitElem) ? 1ULL << Pos % kNumBitElem : 0,
-                         (Pos >= kNumBitElem && Pos < kNumBitElem * 2)
-                             ? 1ULL << Pos % kNumBitElem
-                             : 0);
+    uint64_t mask1 = (Pos < kNumBitElem) ? 1ULL << (Pos % kNumBitElem) : 0;
+    uint64_t mask2 = (Pos >= kNumBitElem && Pos < (kNumBitElem * 2))
+                         ? 1ULL << (Pos % kNumBitElem)
+                         : 0;
+    return SanitizerMask(mask1, mask2);
   }
 
   unsigned countPopulation() const {


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to