diff options
author | Bill Wendling <isanbard@gmail.com> | 2012-08-30 00:43:41 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2012-08-30 00:43:41 +0000 |
commit | 8c0b4bc339e4d5db3e2f323f68b9348ac6d8cb28 (patch) | |
tree | cfb912afeae2c86215e49d7323051bd4ed12ac38 /clang/lib/Driver/Tools.cpp | |
parent | 1f6f8c2cb7282bc1de6217be2bf17fe901a59d4f (diff) | |
download | bcm5719-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.cpp | 4 |
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)); } } |