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

Unified Diff: lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp

Issue 23753003: Report fatal translator errors to the browser (Closed) Base URL: http://git.chromium.org/native_client/pnacl-llvm.git@master
Patch Set: split errors from streamable readBytes and Header ReadPrefix Created 7 years, 3 months 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/Reader/NaClBitcodeHeader.cpp ('k') | tools/pnacl-llc/SRPCStreamer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp
diff --git a/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp b/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp
index 41acb6f999cd7bd92b53a1762fb9d8bfdf289ce8..e8ef0e6d9e8cfbe5a6cb47ebd2c80154c9d94472 100644
--- a/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp
+++ b/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp
@@ -997,7 +997,7 @@ bool NaClBitcodeReader::ParseBitcodeInto(Module *M) {
M->setDataLayout("e-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-"
"f32:32:32-f64:64:64-p:32:32:32-v128:32:32");
- if (InitStream()) return Error(Header.Unsupported());
+ if (InitStream()) return true; // InitSream will set the error string.
// We expect a number of well-defined blocks, though we don't necessarily
// need to understand them all.
@@ -1772,22 +1772,26 @@ bool NaClBitcodeReader::InitStreamFromBuffer() {
return Error("Bitcode stream should be a multiple of 4 bytes in length");
if (Header.Read(BufPtr, BufEnd))
- return Error("Invalid PNaCl bitcode header");
+ return Error(Header.Unsupported());
StreamFile.reset(new NaClBitstreamReader(BufPtr, BufEnd));
Stream.init(*StreamFile);
- return AcceptHeader();
+ if (AcceptHeader())
+ return Error(Header.Unsupported());
+ return false;
}
bool NaClBitcodeReader::InitLazyStream() {
StreamingMemoryObject *Bytes = new StreamingMemoryObject(LazyStreamer);
if (Header.Read(Bytes))
- return Error("Invalid PNaCl bitcode header");
+ return Error(Header.Unsupported());
StreamFile.reset(new NaClBitstreamReader(Bytes, Header.getHeaderSize()));
Stream.init(*StreamFile);
- return AcceptHeader();
+ if (AcceptHeader())
+ return Error(Header.Unsupported());
+ return false;
}
//===----------------------------------------------------------------------===//
« no previous file with comments | « lib/Bitcode/NaCl/Reader/NaClBitcodeHeader.cpp ('k') | tools/pnacl-llc/SRPCStreamer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698