From 2eb65e292cf7724d2f5f6773e2460b9420cee34c Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Wed, 8 Apr 2009 22:26:47 +0000 Subject: [PATCH] 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 --- include/llvm/Bitcode/BitstreamReader.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/include/llvm/Bitcode/BitstreamReader.h b/include/llvm/Bitcode/BitstreamReader.h index d64c0dc2ac6..d738628efbd 100644 --- a/include/llvm/Bitcode/BitstreamReader.h +++ b/include/llvm/Bitcode/BitstreamReader.h @@ -115,7 +115,7 @@ public: /// 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 @@ public: // Skip over any bits that are already consumed. if (WordBitNo) { - NextChar -= 4; Read(static_cast(WordBitNo)); } }