Clean up some inappropriate choices of type in the bitcode reader. None of
authorRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 13 Feb 2015 21:05:11 +0000 (21:05 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 13 Feb 2015 21:05:11 +0000 (21:05 +0000)
these are expected to fix any 64->32 bit real truncation issues.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229153 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Bitcode/BitstreamReader.h
lib/Bitcode/Reader/BitstreamReader.cpp

index bc3e48a43416b2f5347e1d701c8140a524db9aec..692ca3570e16a0e2bc6af49b488de7e0dbebe16a 100644 (file)
@@ -258,8 +258,8 @@ public:
     AF_DontAutoprocessAbbrevs = 2
   };
 
-      /// Advance the current bitstream, returning the next entry in the stream.
-      BitstreamEntry advance(unsigned Flags = 0) {
+  /// Advance the current bitstream, returning the next entry in the stream.
+  BitstreamEntry advance(unsigned Flags = 0) {
     while (1) {
       unsigned Code = ReadCode();
       if (Code == bitc::END_BLOCK) {
@@ -301,7 +301,7 @@ public:
 
   /// Reset the stream to the specified bit number.
   void JumpToBit(uint64_t BitNo) {
-    uintptr_t ByteNo = uintptr_t(BitNo/8) & ~(sizeof(word_t)-1);
+    size_t ByteNo = size_t(BitNo/8) & ~(sizeof(word_t)-1);
     unsigned WordBitNo = unsigned(BitNo & (sizeof(word_t)*8-1));
     assert(canSkipToPos(ByteNo) && "Invalid location");
 
@@ -315,7 +315,7 @@ public:
   }
 
   void fillCurWord() {
-    if (Size != 0 && NextChar >= (unsigned)Size)
+    if (Size != 0 && NextChar >= Size)
       report_fatal_error("Unexpected end of file");
 
     // Read the next word from the stream.
index 9d5fab9147a7605e32e4209068f30a12dcb65c7c..ca68257c7311b0a5f5ceaf07e8ae524287eb399c 100644 (file)
@@ -253,7 +253,7 @@ void BitstreamCursor::ReadAbbrevRecord() {
 
     BitCodeAbbrevOp::Encoding E = (BitCodeAbbrevOp::Encoding)Read(3);
     if (BitCodeAbbrevOp::hasEncodingData(E)) {
-      unsigned Data = ReadVBR64(5);
+      uint64_t Data = ReadVBR64(5);
 
       // As a special case, handle fixed(0) (i.e., a fixed field with zero bits)
       // and vbr(0) as a literal zero.  This is decoded the same way, and avoids