summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp')
-rw-r--r--llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp28
1 files changed, 17 insertions, 11 deletions
diff --git a/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp b/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
index 03f7a70cd8f..eeb2a961ee1 100644
--- a/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
+++ b/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
@@ -285,12 +285,16 @@ void CoveragePrinterHTML::closeViewFile(OwnedStream OS) {
}
/// Emit column labels for the table in the index.
-static void emitColumnLabelsForIndex(raw_ostream &OS) {
+static void emitColumnLabelsForIndex(raw_ostream &OS,
+ const CoverageViewOptions &Opts) {
SmallVector<std::string, 4> Columns;
Columns.emplace_back(tag("td", "Filename", "column-entry-left"));
- for (const char *Label : {"Function Coverage", "Instantiation Coverage",
- "Line Coverage", "Region Coverage"})
- Columns.emplace_back(tag("td", Label, "column-entry"));
+ Columns.emplace_back(tag("td", "Function Coverage", "column-entry"));
+ if (Opts.ShowInstantiationSummary)
+ Columns.emplace_back(tag("td", "Instantiation Coverage", "column-entry"));
+ Columns.emplace_back(tag("td", "Line Coverage", "column-entry"));
+ if (Opts.ShowRegionSummary)
+ Columns.emplace_back(tag("td", "Region Coverage", "column-entry"));
OS << tag("tr", join(Columns.begin(), Columns.end(), ""));
}
@@ -345,14 +349,16 @@ void CoveragePrinterHTML::emitFileSummary(raw_ostream &OS, StringRef SF,
AddCoverageTripleToColumn(FCS.FunctionCoverage.Executed,
FCS.FunctionCoverage.NumFunctions,
FCS.FunctionCoverage.getPercentCovered());
- AddCoverageTripleToColumn(FCS.InstantiationCoverage.Executed,
- FCS.InstantiationCoverage.NumFunctions,
- FCS.InstantiationCoverage.getPercentCovered());
+ if (Opts.ShowInstantiationSummary)
+ AddCoverageTripleToColumn(FCS.InstantiationCoverage.Executed,
+ FCS.InstantiationCoverage.NumFunctions,
+ FCS.InstantiationCoverage.getPercentCovered());
AddCoverageTripleToColumn(FCS.LineCoverage.Covered, FCS.LineCoverage.NumLines,
FCS.LineCoverage.getPercentCovered());
- AddCoverageTripleToColumn(FCS.RegionCoverage.Covered,
- FCS.RegionCoverage.NumRegions,
- FCS.RegionCoverage.getPercentCovered());
+ if (Opts.ShowRegionSummary)
+ AddCoverageTripleToColumn(FCS.RegionCoverage.Covered,
+ FCS.RegionCoverage.NumRegions,
+ FCS.RegionCoverage.getPercentCovered());
OS << tag("tr", join(Columns.begin(), Columns.end(), ""), "light-row");
}
@@ -395,7 +401,7 @@ Error CoveragePrinterHTML::createIndexFile(
// Emit a table containing links to reports for each file in the covmapping.
// Exclude files which don't contain any regions.
OSRef << BeginCenteredDiv << BeginTable;
- emitColumnLabelsForIndex(OSRef);
+ emitColumnLabelsForIndex(OSRef, Opts);
FileCoverageSummary Totals("TOTALS");
auto FileReports =
CoverageReport::prepareFileReports(Coverage, Totals, SourceFiles, Opts);
OpenPOWER on IntegriCloud