[llvm-cov] Use the native path in the coverage report.
The coverage reports contain the source or binary file paths. On Windows, the file path might contain the seperators of both '/' and '\'. This patch uses the native path in the coverage reports. For example, on Windows, all '/' are converted to '\'. Differential Revision: https://reviews.llvm.org/D23922 llvm-svn: 280061
This commit is contained in:
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user