diff options
Diffstat (limited to 'llvm/tools/llvm-cov')
-rw-r--r-- | llvm/tools/llvm-cov/CodeCoverage.cpp | 1 | ||||
-rw-r--r-- | llvm/tools/llvm-cov/SourceCoverageView.cpp | 1 | ||||
-rw-r--r-- | llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp | 10 |
3 files changed, 10 insertions, 2 deletions
diff --git a/llvm/tools/llvm-cov/CodeCoverage.cpp b/llvm/tools/llvm-cov/CodeCoverage.cpp index 019f18a5457..00c547063bc 100644 --- a/llvm/tools/llvm-cov/CodeCoverage.cpp +++ b/llvm/tools/llvm-cov/CodeCoverage.cpp @@ -468,6 +468,7 @@ int CodeCoverageTool::run(Command Cmd, int argc, const char **argv) { error(EC.message(), this->ObjectFilename); return 1; } + sys::path::native(ObjectFilePath); ViewOpts.ObjectFilename = ObjectFilePath.c_str(); switch (ViewOpts.Format) { case CoverageViewOptions::OutputFormat::Text: diff --git a/llvm/tools/llvm-cov/SourceCoverageView.cpp b/llvm/tools/llvm-cov/SourceCoverageView.cpp index 23f725fccdc..b61d7919444 100644 --- a/llvm/tools/llvm-cov/SourceCoverageView.cpp +++ b/llvm/tools/llvm-cov/SourceCoverageView.cpp @@ -46,6 +46,7 @@ std::string CoveragePrinter::getOutputPath(StringRef Path, StringRef Extension, auto PathFilename = (sys::path::filename(Path) + "." + Extension).str(); sys::path::append(FullPath, PathFilename); + sys::path::native(FullPath); return FullPath.str(); } diff --git a/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp b/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp index 8245ebdf37f..4b2331c208b 100644 --- a/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp +++ b/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp @@ -308,7 +308,10 @@ Error CoveragePrinterHTML::createIndexFile(ArrayRef<StringRef> SourceFiles) { OSRef << BeginCenteredDiv << BeginTable; OSRef << BeginSourceNameDiv << "Index" << EndSourceNameDiv; for (StringRef SF : SourceFiles) { - std::string LinkText = escape(sys::path::relative_path(SF), Opts); + SmallString<128> LinkTextStr(sys::path::relative_path(SF)); + sys::path::remove_dots(LinkTextStr, /*remove_dot_dots=*/true); + sys::path::native(LinkTextStr); + std::string LinkText = escape(sys::path::relative_path(LinkTextStr), Opts); std::string LinkTarget = escape(getOutputPath(SF, "html", /*InToplevel=*/false), Opts); OSRef << tag("tr", tag("td", tag("pre", a(LinkTarget, LinkText), "code"))); @@ -340,7 +343,10 @@ void SourceCoverageViewHTML::renderSourceName(raw_ostream &OS, bool WholeFile) { // Render the source name for the view. std::string SourceFile = isFunctionView() ? "Function: " : "Source: "; SourceFile += getSourceName().str(); - OS << tag("pre", escape(SourceFile, getOptions())); + SmallString<128> SourceText(SourceFile); + sys::path::remove_dots(SourceText, /*remove_dot_dots=*/true); + sys::path::native(SourceText); + OS << tag("pre", escape(SourceText, getOptions())); // Render the object file name for the view. if (WholeFile) OS << tag("pre", |