diff options
Diffstat (limited to 'tools/llvm-cov/llvm-cov.cpp')
-rw-r--r-- | tools/llvm-cov/llvm-cov.cpp | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/tools/llvm-cov/llvm-cov.cpp b/tools/llvm-cov/llvm-cov.cpp index f549891694..be8d1c9036 100644 --- a/tools/llvm-cov/llvm-cov.cpp +++ b/tools/llvm-cov/llvm-cov.cpp @@ -84,13 +84,18 @@ int main(int argc, char **argv) { OwningPtr<MemoryBuffer> GCDA_Buff; if (error_code ec = MemoryBuffer::getFileOrSTDIN(InputGCDA, GCDA_Buff)) { - errs() << InputGCDA << ": " << ec.message() << "\n"; - return 1; - } - GCOVBuffer GCDA_GB(GCDA_Buff.get()); - if (!GF.readGCDA(GCDA_GB)) { - errs() << "Invalid .gcda File!\n"; - return 1; + if (ec != errc::no_such_file_or_directory) { + errs() << InputGCDA << ": " << ec.message() << "\n"; + return 1; + } + // Clear the filename to make it clear we didn't read anything. + InputGCDA = "-"; + } else { + GCOVBuffer GCDA_GB(GCDA_Buff.get()); + if (!GF.readGCDA(GCDA_GB)) { + errs() << "Invalid .gcda File!\n"; + return 1; + } } if (DumpGCOV) |