]> granicus.if.org Git - clang/commitdiff
[driver] Don't try to generate diagnostic information for dsymutil crashes.
authorChad Rosier <mcrosier@apple.com>
Fri, 1 Feb 2013 18:30:26 +0000 (18:30 +0000)
committerChad Rosier <mcrosier@apple.com>
Fri, 1 Feb 2013 18:30:26 +0000 (18:30 +0000)
Part of rdar://13134273

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

include/clang/Driver/Tool.h
lib/Driver/Driver.cpp
lib/Driver/Tools.h

index c62e7567ea3ee154365d24b21faa31b6dfd474e0..4c05d0a743bcfe0f6efc4c3da1242a49ffcaca95 100644 (file)
@@ -50,6 +50,7 @@ public:
   virtual bool hasIntegratedAssembler() const { return false; }
   virtual bool hasIntegratedCPP() const = 0;
   virtual bool isLinkJob() const { return false; }
+  virtual bool isDsymutilJob() const { return false; }
 
   /// \brief Does this tool have "good" standardized diagnostics, or should the
   /// driver add an additional "command failed" diagnostic on failures.
index 3ede6e328841b3283f8aba35f82273f85689561b..8a2804a9ad4159438bb4bfee5de68db6e7d0e1cb 100644 (file)
@@ -339,8 +339,9 @@ void Driver::generateCompilationDiagnostics(Compilation &C,
   if (C.getArgs().hasArg(options::OPT_fno_crash_diagnostics))
     return;
 
-  // Don't try to generate diagnostics for link jobs.
-  if (FailingCommand && FailingCommand->getCreator().isLinkJob())
+  // Don't try to generate diagnostics for link or dsymutil jobs.
+  if (FailingCommand && (FailingCommand->getCreator().isLinkJob() ||
+                         FailingCommand->getCreator().isDsymutilJob()))
     return;
 
   // Print the version of the compiler.
index a2b3c07b0c6601f7dc66c847d921e6766716881f..f4aebd8bd25c3aff4375be1ccdd6995ceb89f72b 100644 (file)
@@ -278,6 +278,7 @@ namespace darwin {
                                                "dsymutil", TC) {}
 
     virtual bool hasIntegratedCPP() const { return false; }
+    virtual bool isDsymutilJob() const { return true; }
 
     virtual void ConstructJob(Compilation &C, const JobAction &JA,
                               const InputInfo &Output,