]> granicus.if.org Git - clang/commitdiff
Make sure we only use the output file as a base for debug splitting
authorEric Christopher <echristo@gmail.com>
Fri, 22 Feb 2013 01:33:46 +0000 (01:33 +0000)
committerEric Christopher <echristo@gmail.com>
Fri, 22 Feb 2013 01:33:46 +0000 (01:33 +0000)
if we're compiling.

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

lib/Driver/Tools.cpp
test/Driver/split-debug.c

index e830bdcc9c3bbcc1a8710d9eed392e8811fc80c4..ebbabcfdf9c7dc0c210a302ea7b7e6a3f128347a 100644 (file)
@@ -1723,7 +1723,7 @@ void Clang::SplitDebugInfo(Compilation &C, const JobAction &JA,
   // Add an output for the extract.
   Arg *FinalOutput = C.getArgs().getLastArg(options::OPT_o);
   const char *OutFile;
-  if (FinalOutput) {
+  if (FinalOutput && C.getArgs().hasArg(options::OPT_c)) {
     SmallString<128> T(FinalOutput->getValue());
     llvm::sys::path::replace_extension(T, "dwo");
     OutFile = Args.MakeArgString(T);
index fb01953b0d61e22b040523efb0ac2bc134c8abed..5c77e6e98cf67443feee40deb8e89fc9baaf3250 100644 (file)
@@ -12,3 +12,9 @@
 // RUN: FileCheck -check-prefix=CHECK-NO-ACTIONS < %t %s
 //
 // CHECK-NO-ACTIONS-NOT: -split-dwarf
+
+
+// RUN: %clang -target x86_64-unknown-linux-gnu -gsplit-dwarf -o Bad.x -### %s 2> %t
+// RUN: FileCheck -check-prefix=CHECK-BAD < %t %s
+//
+// CHECK-BAD-NOT: "Bad.dwo"