summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2012-08-30 00:43:41 +0000
committerBill Wendling <isanbard@gmail.com>2012-08-30 00:43:41 +0000
commit8c0b4bc339e4d5db3e2f323f68b9348ac6d8cb28 (patch)
treecfb912afeae2c86215e49d7323051bd4ed12ac38 /clang/lib/Driver/Tools.cpp
parent1f6f8c2cb7282bc1de6217be2bf17fe901a59d4f (diff)
downloadbcm5719-llvm-8c0b4bc339e4d5db3e2f323f68b9348ac6d8cb28.tar.gz
bcm5719-llvm-8c0b4bc339e4d5db3e2f323f68b9348ac6d8cb28.zip
Emit .gcda files as absolute paths instead of relative paths.
This improves compatibility with gcc in this regard, and this file generation can be ameliorated with GCOV_PREFIX and GCOV_PREFIX_STRIP. It's also useful if your build directory doesn't specify -o <abspath> and it uses a recursive make structure, so it's not relative to the toplevel. Patch by Joshua Cranmer! <rdar://problem/12179524> llvm-svn: 162884
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r--clang/lib/Driver/Tools.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index 4336d9ee261..c113406670b 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -2015,7 +2015,9 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
C.getArgs().hasArg(options::OPT_S)) {
if (Output.isFilename()) {
CmdArgs.push_back("-coverage-file");
- CmdArgs.push_back(Args.MakeArgString(Output.getFilename()));
+ SmallString<128> absFilename(Output.getFilename());
+ llvm::sys::fs::make_absolute(absFilename);
+ CmdArgs.push_back(Args.MakeArgString(absFilename));
}
}
OpenPOWER on IntegriCloud