ASTUnit: Don't clone the new DiagnosticConsumer, causing it to get leaked.

llvm-svn: 154739
This commit is contained in:
Benjamin Kramer
2012-04-14 09:11:56 +00:00
parent af7ae314db
commit ffe7c7f4b2

View 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));
}