[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

llvm-svn: 174203

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

index c62e756..4c05d0a 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 3ede6e3..8a2804a 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 a2b3c07..f4aebd8 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,