diff options
Diffstat (limited to 'clang/lib/ARCMigrate/ARCMT.cpp')
-rw-r--r-- | clang/lib/ARCMigrate/ARCMT.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/clang/lib/ARCMigrate/ARCMT.cpp b/clang/lib/ARCMigrate/ARCMT.cpp index 05bc150487f..6e1b0e535bb 100644 --- a/clang/lib/ARCMigrate/ARCMT.cpp +++ b/clang/lib/ARCMigrate/ARCMT.cpp @@ -93,7 +93,7 @@ class CaptureDiagnosticConsumer : public DiagnosticConsumer { CapturedDiagList &CapturedDiags; public: CaptureDiagnosticConsumer(DiagnosticsEngine &diags, - CapturedDiagList &capturedDiags) + CapturedDiagList &capturedDiags) : Diags(diags), CapturedDiags(capturedDiags) { } virtual void HandleDiagnostic(DiagnosticsEngine::Level level, @@ -107,6 +107,12 @@ public: // Non-ARC warnings are ignored. Diags.setLastDiagnosticIgnored(); } + + DiagnosticConsumer *clone(DiagnosticsEngine &Diags) const { + // Just drop any diagnostics that come from cloned consumers; they'll + // have different source managers anyway. + return new IgnoringDiagConsumer(); + } }; } // end anonymous namespace |