diff --git a/include/llvm/Bitcode/ReaderWriter.h b/include/llvm/Bitcode/ReaderWriter.h index 4c194a638d4..c44b084c34f 100644 --- a/include/llvm/Bitcode/ReaderWriter.h +++ b/include/llvm/Bitcode/ReaderWriter.h @@ -52,7 +52,7 @@ namespace llvm { /// Read the specified bitcode file, returning the module. /// This method *never* takes ownership of Buffer. - ErrorOr parseBitcodeFile(MemoryBuffer *Buffer, + ErrorOr parseBitcodeFile(const MemoryBuffer *Buffer, LLVMContext &Context); /// WriteBitcodeToFile - Write the specified module to the specified diff --git a/lib/Bitcode/Reader/BitcodeReader.cpp b/lib/Bitcode/Reader/BitcodeReader.cpp index 4bbecfdb177..d763397e557 100644 --- a/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/lib/Bitcode/Reader/BitcodeReader.cpp @@ -3406,9 +3406,10 @@ Module *llvm::getStreamedBitcodeModule(const std::string &name, return M; } -ErrorOr llvm::parseBitcodeFile(MemoryBuffer *Buffer, +ErrorOr llvm::parseBitcodeFile(const MemoryBuffer *Buffer, LLVMContext &Context) { - ErrorOr ModuleOrErr = getLazyBitcodeModule(Buffer, Context); + ErrorOr ModuleOrErr = + getLazyBitcodeModule(const_cast(Buffer), Context); if (!ModuleOrErr) return ModuleOrErr; Module *M = ModuleOrErr.get(); diff --git a/lib/IRReader/IRReader.cpp b/lib/IRReader/IRReader.cpp index 2bbe0753320..9d90324adf9 100644 --- a/lib/IRReader/IRReader.cpp +++ b/lib/IRReader/IRReader.cpp @@ -68,8 +68,7 @@ Module *llvm::ParseIR(const MemoryBuffer *Buffer, SMDiagnostic &Err, TimePassesIsEnabled); if (isBitcode((const unsigned char *)Buffer->getBufferStart(), (const unsigned char *)Buffer->getBufferEnd())) { - ErrorOr ModuleOrErr = - parseBitcodeFile(const_cast(Buffer), Context); + ErrorOr ModuleOrErr = parseBitcodeFile(Buffer, Context); Module *M = nullptr; if (std::error_code EC = ModuleOrErr.getError()) Err = SMDiagnostic(Buffer->getBufferIdentifier(), SourceMgr::DK_Error,