diff options
author | Owen Anderson <resistor@mac.com> | 2012-10-16 17:10:33 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2012-10-16 17:10:33 +0000 |
commit | 82e9bc2f57c00c200d7227b94891f272462d9292 (patch) | |
tree | 3920d93e3541e21a68a399209b99b1dab82d8825 /include/llvm/ADT | |
parent | afac0478f41b0f0106a6470060ad22d2eec32e22 (diff) | |
download | llvm-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.h | 8 |
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 |