diff options
Diffstat (limited to 'llvm/tools/llvm-cov/CoverageReport.cpp')
-rw-r--r-- | llvm/tools/llvm-cov/CoverageReport.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/llvm/tools/llvm-cov/CoverageReport.cpp b/llvm/tools/llvm-cov/CoverageReport.cpp index 24d7c661aad..5a56579149a 100644 --- a/llvm/tools/llvm-cov/CoverageReport.cpp +++ b/llvm/tools/llvm-cov/CoverageReport.cpp @@ -123,10 +123,12 @@ raw_ostream::Colors determineCoveragePercentageColor(const T &Info) { unsigned getLongestCommonPrefixLen(ArrayRef<std::string> Strings) { unsigned LCP = Strings[0].size(); for (unsigned I = 1, E = Strings.size(); LCP > 0 && I < E; ++I) { - auto Mismatch = - std::mismatch(Strings[0].begin(), Strings[0].end(), Strings[I].begin()) - .first; - LCP = std::min(LCP, (unsigned)std::distance(Strings[0].begin(), Mismatch)); + unsigned Cursor; + StringRef S = Strings[I]; + for (Cursor = 0; Cursor < LCP && Cursor < S.size(); ++Cursor) + if (Strings[0][Cursor] != S[Cursor]) + break; + LCP = std::min(LCP, Cursor); } return LCP; } |