diff options
author | Vedant Kumar <vsk@apple.com> | 2016-06-29 21:55:46 +0000 |
---|---|---|
committer | Vedant Kumar <vsk@apple.com> | 2016-06-29 21:55:46 +0000 |
commit | d6d192cd12db3a813e7e70d0ed579093b71277d1 (patch) | |
tree | 6ecfd82d84595b63f9a69fd67feee0cd65642ce9 /llvm/tools/llvm-cov/SourceCoverageView.cpp | |
parent | 30ece958dbf3f5a97f0282da49b125e04657288d (diff) | |
download | bcm5719-llvm-d6d192cd12db3a813e7e70d0ed579093b71277d1.tar.gz bcm5719-llvm-d6d192cd12db3a813e7e70d0ed579093b71277d1.zip |
[llvm-cov] Use relative paths to file reports in -output-dir mode
This makes it possible to e.g copy a report to another filesystem.
llvm-svn: 274173
Diffstat (limited to 'llvm/tools/llvm-cov/SourceCoverageView.cpp')
-rw-r--r-- | llvm/tools/llvm-cov/SourceCoverageView.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/llvm/tools/llvm-cov/SourceCoverageView.cpp b/llvm/tools/llvm-cov/SourceCoverageView.cpp index a4e9c43d066..08eb545a29c 100644 --- a/llvm/tools/llvm-cov/SourceCoverageView.cpp +++ b/llvm/tools/llvm-cov/SourceCoverageView.cpp @@ -28,10 +28,14 @@ void CoveragePrinter::StreamDestructor::operator()(raw_ostream *OS) const { } std::string CoveragePrinter::getOutputPath(StringRef Path, StringRef Extension, - bool InToplevel) { + bool InToplevel, bool Relative) { assert(Extension.size() && "The file extension may not be empty"); - SmallString<256> FullPath(Opts.ShowOutputDirectory); + SmallString<256> FullPath; + + if (!Relative) + FullPath.append(Opts.ShowOutputDirectory); + if (!InToplevel) sys::path::append(FullPath, getCoverageDir()); @@ -51,7 +55,7 @@ CoveragePrinter::createOutputStream(StringRef Path, StringRef Extension, if (!Opts.hasOutputDirectory()) return OwnedStream(&outs()); - std::string FullPath = getOutputPath(Path, Extension, InToplevel); + std::string FullPath = getOutputPath(Path, Extension, InToplevel, false); auto ParentDir = sys::path::parent_path(FullPath); if (auto E = sys::fs::create_directories(ParentDir)) |