summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-cov
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/llvm-cov')
-rw-r--r--llvm/tools/llvm-cov/CodeCoverage.cpp1
-rw-r--r--llvm/tools/llvm-cov/SourceCoverageView.cpp1
-rw-r--r--llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp10
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",
OpenPOWER on IntegriCloud