]> granicus.if.org Git - clang/commitdiff
ASTUnit: Don't clone the new DiagnosticConsumer, causing it to get leaked.
authorBenjamin Kramer <benny.kra@googlemail.com>
Sat, 14 Apr 2012 09:11:56 +0000 (09:11 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Sat, 14 Apr 2012 09:11:56 +0000 (09:11 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154739 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Frontend/ASTUnit.cpp

index e32fa630a737fa7ee2e1759d5b91cc28551bc107..7aa96032ee36e188b18dd3ad707e1fe42cff1827 100644 (file)
@@ -643,8 +643,10 @@ void ASTUnit::ConfigureDiags(IntrusiveRefCntPtr<DiagnosticsEngine> &Diags,
     DiagnosticConsumer *Client = 0;
     if (CaptureDiagnostics)
       Client = new StoredDiagnosticConsumer(AST.StoredDiagnostics);
-    Diags = CompilerInstance::createDiagnostics(DiagOpts, ArgEnd- ArgBegin, 
-                                                ArgBegin, Client);
+    Diags = CompilerInstance::createDiagnostics(DiagOpts, ArgEnd-ArgBegin,
+                                                ArgBegin, Client,
+                                                /*ShouldOwnClient=*/true,
+                                                /*ShouldCloneClient=*/false);
   } else if (CaptureDiagnostics) {
     Diags->setClient(new StoredDiagnosticConsumer(AST.StoredDiagnostics));
   }