Fixed a clang warning about signed shifts.

Change-Id: I7c2bf87972ee0ba6811d6ed42e13300bff90e36f
This commit is contained in:
Wouter van Oortmerssen 2015-08-26 16:47:59 -07:00
parent a5c511576f
commit aeff09d724
1 changed files with 2 additions and 1 deletions

View File

@ -49,7 +49,8 @@ static void Error(const std::string &msg) {
// Ensure that integer values we parse fit inside the declared integer type.
static void CheckBitsFit(int64_t val, size_t bits) {
auto mask = (1ll << bits) - 1; // Bits we allow to be used.
// Bits we allow to be used.
auto mask = static_cast<int64_t>((1ull << bits) - 1);
if (bits < 64 &&
(val & ~mask) != 0 && // Positive or unsigned.
(val | mask) != -1) // Negative.