diff options
author | Max Moroz <mmoroz@chromium.org> | 2018-11-09 16:10:44 +0000 |
---|---|---|
committer | Max Moroz <mmoroz@chromium.org> | 2018-11-09 16:10:44 +0000 |
commit | b2091c930b765a1f1b75c9159f49329af59604f9 (patch) | |
tree | 2cd9a18678670d2096029b255a7577c73dd29bb0 /llvm/tools/llvm-cov/SourceCoverageView.cpp | |
parent | 9cad24a7ee2e61c21b24da6326827bb7dbb04dde (diff) | |
download | llvm-b2091c930b765a1f1b75c9159f49329af59604f9.zip llvm-b2091c930b765a1f1b75c9159f49329af59604f9.tar.gz llvm-b2091c930b765a1f1b75c9159f49329af59604f9.tar.bz2 |
[llvm-cov] Add lcov tracefile export format.
Summary:
lcov tracefiles are used by various coverage reporting tools and build
systems (e.g., Bazel). It is a simple text-based format to parse and
more convenient to use than the JSON export format, which needs
additional processing to map regions/segments back to line numbers.
It's a little unfortunate that "text" format is now overloaded to refer
specifically to JSON for export, but I wanted to avoid making any
breaking changes to the UI of the llvm-cov tool at this time.
Patch by Tony Allevato (@allevato).
Reviewers: Dor1s, vsk
Reviewed By: Dor1s, vsk
Subscribers: mgorny, llvm-commits
Differential Revision: https://reviews.llvm.org/D54266
llvm-svn: 346506
Diffstat (limited to 'llvm/tools/llvm-cov/SourceCoverageView.cpp')
-rw-r--r-- | llvm/tools/llvm-cov/SourceCoverageView.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/tools/llvm-cov/SourceCoverageView.cpp b/llvm/tools/llvm-cov/SourceCoverageView.cpp index a5a8fa9..775322b 100644 --- a/llvm/tools/llvm-cov/SourceCoverageView.cpp +++ b/llvm/tools/llvm-cov/SourceCoverageView.cpp @@ -80,6 +80,10 @@ CoveragePrinter::create(const CoverageViewOptions &Opts) { return llvm::make_unique<CoveragePrinterText>(Opts); case CoverageViewOptions::OutputFormat::HTML: return llvm::make_unique<CoveragePrinterHTML>(Opts); + case CoverageViewOptions::OutputFormat::Lcov: + // Unreachable because CodeCoverage.cpp should terminate with an error + // before we get here. + llvm_unreachable("Lcov format is not supported!"); } llvm_unreachable("Unknown coverage output format!"); } @@ -143,6 +147,10 @@ SourceCoverageView::create(StringRef SourceName, const MemoryBuffer &File, case CoverageViewOptions::OutputFormat::HTML: return llvm::make_unique<SourceCoverageViewHTML>( SourceName, File, Options, std::move(CoverageInfo)); + case CoverageViewOptions::OutputFormat::Lcov: + // Unreachable because CodeCoverage.cpp should terminate with an error + // before we get here. + llvm_unreachable("Lcov format is not supported!"); } llvm_unreachable("Unknown coverage output format!"); } |