Fix BitstreamReader's GetCurrentBitNo to return the correct bit number, and stop JumpToBit from covering up its mistakes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68648 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/llvm/Bitcode/BitstreamReader.h b/include/llvm/Bitcode/BitstreamReader.h
index d64c0dc..d738628 100644
--- a/include/llvm/Bitcode/BitstreamReader.h
+++ b/include/llvm/Bitcode/BitstreamReader.h
@@ -115,7 +115,7 @@
/// GetCurrentBitNo - Return the bit # of the bit we are reading.
uint64_t GetCurrentBitNo() const {
- return (NextChar-FirstChar)*CHAR_BIT + ((32-BitsInCurWord) & 31);
+ return (NextChar-FirstChar)*CHAR_BIT - BitsInCurWord;
}
/// JumpToBit - Reset the stream to the specified bit number.
@@ -131,7 +131,6 @@
// Skip over any bits that are already consumed.
if (WordBitNo) {
- NextChar -= 4;
Read(static_cast<unsigned>(WordBitNo));
}
}