Skip to content

Commit a0324e9

Browse files
committed
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.
1 parent 03cde3a commit a0324e9

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

clang/include/clang/Basic/Sanitizers.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,11 @@ class SanitizerMask {
5252

5353
/// Create a mask with a bit enabled at position Pos.
5454
static constexpr SanitizerMask bitPosToMask(const unsigned Pos) {
55-
return SanitizerMask((Pos < kNumBitElem) ? 1ULL << Pos % kNumBitElem : 0,
56-
(Pos >= kNumBitElem && Pos < kNumBitElem * 2)
57-
? 1ULL << Pos % kNumBitElem
58-
: 0);
55+
uint64_t mask1 = (Pos < kNumBitElem) ? 1ULL << (Pos % kNumBitElem) : 0;
56+
uint64_t mask2 = (Pos >= kNumBitElem && Pos < (kNumBitElem * 2))
57+
? 1ULL << (Pos % kNumBitElem)
58+
: 0;
59+
return SanitizerMask(mask1, mask2);
5960
}
6061

6162
unsigned countPopulation() const {

0 commit comments

Comments
 (0)