diff options
-rw-r--r-- | llvm/test/tools/llvm-cov/deferred-region.cpp | 1 | ||||
-rw-r--r-- | llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp | 5 | ||||
-rw-r--r-- | llvm/tools/llvm-cov/SourceCoverageViewText.cpp | 3 |
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; |