From 27435250328b4c4eb0dfb80b088be76a0f98b2ea Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Tue, 29 Jul 2014 21:01:24 +0000 Subject: [PATCH] Have a single enum for "not a bitcode" error. This is more convenient for callers. No functionality change, this will be used in a next patch to the gold plugin. llvm-svn: 214218 --- llvm/include/llvm/Bitcode/ReaderWriter.h | 1 - llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 12 +++--------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/llvm/include/llvm/Bitcode/ReaderWriter.h b/llvm/include/llvm/Bitcode/ReaderWriter.h index ebb30ec..b32009d 100644 --- a/llvm/include/llvm/Bitcode/ReaderWriter.h +++ b/llvm/include/llvm/Bitcode/ReaderWriter.h @@ -142,7 +142,6 @@ namespace llvm { const std::error_category &BitcodeErrorCategory(); enum class BitcodeError { - BitcodeStreamInvalidSize, ConflictingMETADATA_KINDRecords, CouldNotFindFunctionInStream, ExpectedConstant, diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp index ce66a3d..9dd209d 100644 --- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp @@ -3350,12 +3350,8 @@ std::error_code BitcodeReader::InitStreamFromBuffer() { const unsigned char *BufPtr = (const unsigned char*)Buffer->getBufferStart(); const unsigned char *BufEnd = BufPtr+Buffer->getBufferSize(); - if (Buffer->getBufferSize() & 3) { - if (!isRawBitcode(BufPtr, BufEnd) && !isBitcodeWrapper(BufPtr, BufEnd)) - return Error(BitcodeError::InvalidBitcodeSignature); - else - return Error(BitcodeError::BitcodeStreamInvalidSize); - } + if (Buffer->getBufferSize() & 3) + return Error(BitcodeError::InvalidBitcodeSignature); // If we have a wrapper header, parse it and ignore the non-bc file contents. // The magic number is 0x0B17C0DE stored in little endian. @@ -3378,7 +3374,7 @@ std::error_code BitcodeReader::InitLazyStream() { unsigned char buf[16]; if (Bytes->readBytes(0, 16, buf) == -1) - return Error(BitcodeError::BitcodeStreamInvalidSize); + return Error(BitcodeError::InvalidBitcodeSignature); if (!isBitcode(buf, buf + 16)) return Error(BitcodeError::InvalidBitcodeSignature); @@ -3401,8 +3397,6 @@ class BitcodeErrorCategoryType : public std::error_category { std::string message(int IE) const override { BitcodeError E = static_cast(IE); switch (E) { - case BitcodeError::BitcodeStreamInvalidSize: - return "Bitcode stream length should be >= 16 bytes and a multiple of 4"; case BitcodeError::ConflictingMETADATA_KINDRecords: return "Conflicting METADATA_KIND records"; case BitcodeError::CouldNotFindFunctionInStream: -- 2.7.4