summaryrefslogtreecommitdiff
path: root/include/llvm/ADT
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2012-10-16 17:10:33 +0000
committerOwen Anderson <resistor@mac.com>2012-10-16 17:10:33 +0000
commit82e9bc2f57c00c200d7227b94891f272462d9292 (patch)
tree3920d93e3541e21a68a399209b99b1dab82d8825 /include/llvm/ADT
parentafac0478f41b0f0106a6470060ad22d2eec32e22 (diff)
downloadllvm-82e9bc2f57c00c200d7227b94891f272462d9292.tar.gz
llvm-82e9bc2f57c00c200d7227b94891f272462d9292.tar.bz2
llvm-82e9bc2f57c00c200d7227b94891f272462d9292.tar.xz
Speculative fix the mask constants to be of type uintptr_t. I don't know of any case where the old form was incorrect, but I'm more confident that such cases don't exist in this version.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166031 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/ADT')
-rw-r--r--include/llvm/ADT/SmallBitVector.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/include/llvm/ADT/SmallBitVector.h b/include/llvm/ADT/SmallBitVector.h
index fba1d12542..a9cd54e13b 100644
--- a/include/llvm/ADT/SmallBitVector.h
+++ b/include/llvm/ADT/SmallBitVector.h
@@ -306,8 +306,8 @@ public:
assert(E <= size() && "Attempted to set out-of-bounds range!");
if (I == E) return *this;
if (isSmall()) {
- uintptr_t EMask = 1 << E;
- uintptr_t IMask = 1 << I;
+ uintptr_t EMask = ((uintptr_t)1) << E;
+ uintptr_t IMask = ((uintptr_t)1) << I;
uintptr_t Mask = EMask - IMask;
setSmallBits(getSmallBits() | Mask);
} else
@@ -337,8 +337,8 @@ public:
assert(E <= size() && "Attempted to reset out-of-bounds range!");
if (I == E) return *this;
if (isSmall()) {
- uintptr_t EMask = 1 << E;
- uintptr_t IMask = 1 << I;
+ uintptr_t EMask = ((uintptr_t)1) << E;
+ uintptr_t IMask = ((uintptr_t)1) << I;
uintptr_t Mask = EMask - IMask;
setSmallBits(getSmallBits() & ~Mask);
} else