summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/test/tools/llvm-cov/deferred-region.cpp1
-rw-r--r--llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp5
-rw-r--r--llvm/tools/llvm-cov/SourceCoverageViewText.cpp3
3 files changed, 6 insertions, 3 deletions
diff --git a/llvm/test/tools/llvm-cov/deferred-region.cpp b/llvm/test/tools/llvm-cov/deferred-region.cpp
index 895c12044a1..012e0f88783 100644
--- a/llvm/test/tools/llvm-cov/deferred-region.cpp
+++ b/llvm/test/tools/llvm-cov/deferred-region.cpp
@@ -116,6 +116,7 @@ int main() {
// MARKER-NEXT: Highlighted line 63, 5 -> 13
// MARKER-NEXT: Highlighted line 67, 1 -> ?
// MARKER-NEXT: Highlighted line 68, 1 -> 8
+// MARKER-NEXT: Highlighted line 68, 8 -> ?
// MARKER-NEXT: Highlighted line 69, 1 -> 2
// MARKER-NEXT: Marker at 72:7 = 2
// MARKER-NEXT: Highlighted line 77, 1 -> 2
diff --git a/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp b/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
index 40e194cf2d9..3372e975e4d 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;
diff --git a/llvm/tools/llvm-cov/SourceCoverageViewText.cpp b/llvm/tools/llvm-cov/SourceCoverageViewText.cpp
index e4ac1fd5bfd..6990ed0f160 100644
--- a/llvm/tools/llvm-cov/SourceCoverageViewText.cpp
+++ b/llvm/tools/llvm-cov/SourceCoverageViewText.cpp
@@ -121,7 +121,8 @@ void SourceCoverageViewText::renderLine(
Col = End;
if (Col == ExpansionCol)
Highlight = raw_ostream::CYAN;
- else if (!S->IsGapRegion && S->HasCount && S->Count == 0)
+ else if ((!S->IsGapRegion || Highlight == raw_ostream::RED) &&
+ S->HasCount && S->Count == 0)
Highlight = raw_ostream::RED;
else
Highlight = None;
OpenPOWER on IntegriCloud