summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2011-05-04 20:46:58 +0000
committerNick Lewycky <nicholas@mxc.ca>2011-05-04 20:46:58 +0000
commit480cb9918d0a16bc7869e0c6066699e870e50e83 (patch)
tree023ba67aeaf1dfca7b291ec948e263054eb74507 /clang/lib/Driver/Tools.cpp
parent63cc1de58d0b437887ac640f357cd76cfcca968a (diff)
downloadbcm5719-llvm-480cb9918d0a16bc7869e0c6066699e870e50e83.tar.gz
bcm5719-llvm-480cb9918d0a16bc7869e0c6066699e870e50e83.zip
Record where the GCOV data files should be placed.
llvm-svn: 130866
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r--clang/lib/Driver/Tools.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index 3592fc5ead6..f4e0f2e3590 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -1303,6 +1303,18 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
Args.hasArg(options::OPT_coverage))
CmdArgs.push_back("-femit-coverage-data");
+ if (C.getArgs().hasArg(options::OPT_c) ||
+ C.getArgs().hasArg(options::OPT_S)) {
+ if (Output.isFilename()) {
+ llvm::StringRef CoverageDir =
+ llvm::sys::path::parent_path(Output.getFilename());
+ if (!CoverageDir.empty()) {
+ CmdArgs.push_back("-coverage-dir");
+ CmdArgs.push_back(Args.MakeArgString(CoverageDir));
+ }
+ }
+ }
+
Args.AddLastArg(CmdArgs, options::OPT_nostdinc);
Args.AddLastArg(CmdArgs, options::OPT_nostdincxx);
Args.AddLastArg(CmdArgs, options::OPT_nobuiltininc);
OpenPOWER on IntegriCloud