X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FIRReader%2FIRReader.cpp;h=70801c43f1a3ac475bb866d70048dad0c3dfb42e;hb=0c25726596b2619144c50778338f849ec5a21219;hp=7356fd005adf8666ff9b78129cec20b435dd947e;hpb=99c7fec2c94bd44fd16ba50340896287438e6a0e;p=oota-llvm.git diff --git a/lib/IRReader/IRReader.cpp b/lib/IRReader/IRReader.cpp index 7356fd005ad..70801c43f1a 100644 --- a/lib/IRReader/IRReader.cpp +++ b/lib/IRReader/IRReader.cpp @@ -69,12 +69,14 @@ Module *llvm::ParseIR(MemoryBuffer *Buffer, SMDiagnostic &Err, TimePassesIsEnabled); if (isBitcode((const unsigned char *)Buffer->getBufferStart(), (const unsigned char *)Buffer->getBufferEnd())) { - std::string ErrMsg; - Module *M = ParseBitcodeFile(Buffer, Context, &ErrMsg); - if (M == 0) + ErrorOr ModuleOrErr = parseBitcodeFile(Buffer, Context); + Module *M = 0; + if (error_code EC = ModuleOrErr.getError()) Err = SMDiagnostic(Buffer->getBufferIdentifier(), SourceMgr::DK_Error, - ErrMsg); - // ParseBitcodeFile does not take ownership of the Buffer. + EC.message()); + else + M = ModuleOrErr.get(); + // parseBitcodeFile does not take ownership of the Buffer. delete Buffer; return M; }