Fixup for r217830. Don't do left shifts on negative values

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217974 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Alexey Samsonov
2014-09-17 18:23:07 +00:00
parent e2ff4e489b
commit e5d8abe4f1

View File

@@ -103,7 +103,7 @@ inline int64_t decodeSLEB128(const uint8_t *p, unsigned *n = nullptr) {
} while (Byte >= 128);
// Sign extend negative numbers.
if (Byte & 0x40)
Value |= (-1LL) << Shift;
Value |= (-1ULL) << Shift;
if (n)
*n = (unsigned)(p - orig_p);
return Value;