aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
diff options
context:
space:
mode:
authorVedant Kumar <vsk@apple.com>2017-10-18 18:52:27 +0000
committerVedant Kumar <vsk@apple.com>2017-10-18 18:52:27 +0000
commit988faf87f8067646431dca3e238147f316d84bcb (patch)
tree9ef9353b1741b86bb9220166560cd1a06245e0db /llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
parent02af0af01194b2ca535f7a94c8dc6da082d6f049 (diff)
downloadllvm-988faf87f8067646431dca3e238147f316d84bcb.zip
llvm-988faf87f8067646431dca3e238147f316d84bcb.tar.gz
llvm-988faf87f8067646431dca3e238147f316d84bcb.tar.bz2
[llvm-cov] Highlight gaps in consecutive uncovered regions
llvm-cov typically doesn't highlight gap segments, but it should if the gap occurs after an uncovered region in order to preserve continuity. llvm-svn: 316107
Diffstat (limited to 'llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp')
-rw-r--r--llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp b/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
index 40e194c..3372e97 100644
--- a/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
+++ b/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
@@ -506,7 +506,7 @@ void SourceCoverageViewHTML::renderLine(
// 1 to set the highlight for snippet 2, segment 2 to set the highlight for
// snippet 3, and so on.
- Optional<std::string> Color;
+ Optional<StringRef> Color;
SmallVector<std::pair<unsigned, unsigned>, 2> HighlightedRanges;
auto Highlight = [&](const std::string &Snippet, unsigned LC, unsigned RC) {
if (getOptions().Debug)
@@ -528,7 +528,8 @@ void SourceCoverageViewHTML::renderLine(
const auto *CurSeg = Segments[I];
if (CurSeg->Col == ExpansionCol)
Color = "cyan";
- else if (!CurSeg->IsGapRegion && CheckIfUncovered(CurSeg))
+ else if ((!CurSeg->IsGapRegion || (Color && *Color == "red")) &&
+ CheckIfUncovered(CurSeg))
Color = "red";
else
Color = None;