Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(553)

Unified Diff: lib/IRReader/IRReader.cpp

Issue 770853002: Fix error reporting in the PNaCl bitcode reader. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-llvm.git@master
Patch Set: Fix typo. Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « lib/Bitcode/NaCl/TestUtils/NaClBitcodeMunge.cpp ('k') | tools/llvm-dis/llvm-dis.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/IRReader/IRReader.cpp
diff --git a/lib/IRReader/IRReader.cpp b/lib/IRReader/IRReader.cpp
index d55e1cea656401f2e5fe8e780d66355c089d4eaa..06b3cdfa8b0c78635a372c2c9f93d13227cb75a5 100644
--- a/lib/IRReader/IRReader.cpp
+++ b/lib/IRReader/IRReader.cpp
@@ -102,19 +102,20 @@ Module *llvm::ParseIRFile(const std::string &Filename, SMDiagnostic &Err,
Module *llvm::NaClParseIR(MemoryBuffer *Buffer,
NaClFileFormat Format,
SMDiagnostic &Err,
+ raw_ostream *Verbose,
LLVMContext &Context) {
NamedRegionTimer T(TimeIRParsingName, TimeIRParsingGroupName,
TimePassesIsEnabled);
if ((Format == PNaClFormat) &&
isNaClBitcode((const unsigned char *)Buffer->getBufferStart(),
(const unsigned char *)Buffer->getBufferEnd())) {
- std::string ErrMsg;
- Module *M = NaClParseBitcodeFile(Buffer, Context, &ErrMsg);
- if (M == 0)
+ ErrorOr<Module *> ModuleOrErr =
+ NaClParseBitcodeFile(Buffer, Context, Verbose);
+ if (std::error_code EC = ModuleOrErr.getError())
Err = SMDiagnostic(Buffer->getBufferIdentifier(), SourceMgr::DK_Error,
- ErrMsg);
+ EC.message());
// ParseBitcodeFile does not take ownership of the Buffer.
- return M;
+ return ModuleOrErr.get();
} else if (Format == LLVMFormat) {
if (isBitcode((const unsigned char *)Buffer->getBufferStart(),
(const unsigned char *)Buffer->getBufferEnd())) {
@@ -137,6 +138,7 @@ Module *llvm::NaClParseIR(MemoryBuffer *Buffer,
Module *llvm::NaClParseIRFile(const std::string &Filename,
NaClFileFormat Format,
SMDiagnostic &Err,
+ raw_ostream *Verbose,
LLVMContext &Context) {
ErrorOr<std::unique_ptr<MemoryBuffer>> ErrOrFile =
MemoryBuffer::getFileOrSTDIN(Filename);
@@ -146,7 +148,8 @@ Module *llvm::NaClParseIRFile(const std::string &Filename,
return nullptr;
}
- return NaClParseIR(ErrOrFile.get().release(), Format, Err, Context);
+ return NaClParseIR(ErrOrFile.get().release(), Format, Err, Verbose,
+ Context);
}
// @LOCALMOD-END
« no previous file with comments | « lib/Bitcode/NaCl/TestUtils/NaClBitcodeMunge.cpp ('k') | tools/llvm-dis/llvm-dis.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698