]> granicus.if.org Git - clang/commitdiff
Respect -fno-canonical-prefixes when deciding where to generate .gcno and .gcda
authorNick Lewycky <nicholas@mxc.ca>
Thu, 21 Feb 2013 02:02:50 +0000 (02:02 +0000)
committerNick Lewycky <nicholas@mxc.ca>
Thu, 21 Feb 2013 02:02:50 +0000 (02:02 +0000)
files.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175706 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/Tools.cpp

index ad4fd6cd53ba6d6c2d866227a2866cb40e90c146..a63623a3bedd663dedc8e934112331eacb701b9d 100644 (file)
@@ -2292,9 +2292,13 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
       C.getArgs().hasArg(options::OPT_S)) {
     if (Output.isFilename()) {
       CmdArgs.push_back("-coverage-file");
-      SmallString<128> absFilename(Output.getFilename());
-      llvm::sys::fs::make_absolute(absFilename);
-      CmdArgs.push_back(Args.MakeArgString(absFilename));
+      if (C.getArgs().hasArg(options::OPT_no_canonical_prefixes)) {
+        CmdArgs.push_back(Args.MakeArgString(Output.getFilename()));
+      } else {
+        SmallString<128> absFilename(Output.getFilename());
+        llvm::sys::fs::make_absolute(absFilename);
+        CmdArgs.push_back(Args.MakeArgString(absFilename));
+      }
     }
   }