[PATCH] D18103: Don't crash sancov if file is unreadable.
Mike Aizatsky via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 11 15:31:37 PST 2016
This revision was automatically updated to reflect the committed changes.
Closed by commit rL263307: Don't crash sancov if file is unreadable. (authored by aizatsky).
Changed prior to commit:
http://reviews.llvm.org/D18103?vs=50484&id=50492#toc
Repository:
rL LLVM
http://reviews.llvm.org/D18103
Files:
llvm/trunk/tools/sancov/sancov.cc
Index: llvm/trunk/tools/sancov/sancov.cc
===================================================================
--- llvm/trunk/tools/sancov/sancov.cc
+++ llvm/trunk/tools/sancov/sancov.cc
@@ -98,10 +98,9 @@
"use_default_blacklist", cl::init(true), cl::Hidden,
cl::desc("Controls if default blacklist should be used."));
-static const char *const DefaultBlacklistStr =
- "fun:__sanitizer_.*\n"
- "src:/usr/include/.*\n"
- "src:.*/libc\\+\\+/.*\n";
+static const char *const DefaultBlacklistStr = "fun:__sanitizer_.*\n"
+ "src:/usr/include/.*\n"
+ "src:.*/libc\\+\\+/.*\n";
// --------- FORMAT SPECIFICATION ---------
@@ -491,8 +490,12 @@
static ErrorOr<bool> isCoverageFile(std::string FileName) {
ErrorOr<std::unique_ptr<MemoryBuffer>> BufOrErr =
MemoryBuffer::getFile(FileName);
- if (!BufOrErr)
+ if (!BufOrErr) {
+ errs() << "Warning: " << BufOrErr.getError().message() << "("
+ << BufOrErr.getError().value()
+ << "), filename: " << llvm::sys::path::filename(FileName) << "\n";
return BufOrErr.getError();
+ }
std::unique_ptr<MemoryBuffer> Buf = std::move(BufOrErr.get());
if (Buf->getBufferSize() < 8) {
return false;
@@ -940,7 +943,8 @@
// Partition input values into coverage/object files.
for (const auto &FileName : FileNames) {
auto ErrorOrIsCoverage = isCoverageFile(FileName);
- FailIfError(ErrorOrIsCoverage);
+ if (!ErrorOrIsCoverage)
+ continue;
if (ErrorOrIsCoverage.get()) {
CovFiles.insert(FileName);
} else {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18103.50492.patch
Type: text/x-patch
Size: 1660 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160311/531ac0f1/attachment.bin>
More information about the llvm-commits
mailing list