diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2012-04-14 09:11:56 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2012-04-14 09:11:56 +0000 |
commit | bcadf96a75942f528fc0683d953d66589d341909 (patch) | |
tree | 242741c0b6f95f9ced95f9c55ce7114a3c192c78 | |
parent | 342742adb69af8ef8f2c652f162496b98c45bc20 (diff) |
ASTUnit: Don't clone the new DiagnosticConsumer, causing it to get leaked.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154739 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Frontend/ASTUnit.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Frontend/ASTUnit.cpp b/lib/Frontend/ASTUnit.cpp index e32fa630a7..7aa96032ee 100644 --- a/lib/Frontend/ASTUnit.cpp +++ b/lib/Frontend/ASTUnit.cpp @@ -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)); } |