diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-11-29 16:13:56 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-11-29 16:13:56 +0000 |
commit | e9186e6d4847a0bde56c99b6f4e1250ab1c9ad21 (patch) | |
tree | 6728357c92e4fda458245582063a008ff6a0fb9e /clang/lib/Frontend/ASTUnit.cpp | |
parent | a50ad137521ecc21a8202b72b86e3459970c1adf (diff) | |
download | bcm5719-llvm-e9186e6d4847a0bde56c99b6f4e1250ab1c9ad21.tar.gz bcm5719-llvm-e9186e6d4847a0bde56c99b6f4e1250ab1c9ad21.zip |
When performing code completion within ASTUnit, allocate the AugmentedCodeCompleteConsumer on the heap, so it's always cleaned up properly
llvm-svn: 120290
Diffstat (limited to 'clang/lib/Frontend/ASTUnit.cpp')
-rw-r--r-- | clang/lib/Frontend/ASTUnit.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/clang/lib/Frontend/ASTUnit.cpp b/clang/lib/Frontend/ASTUnit.cpp index b55001e2b1b..09403620ac7 100644 --- a/clang/lib/Frontend/ASTUnit.cpp +++ b/clang/lib/Frontend/ASTUnit.cpp @@ -1841,11 +1841,12 @@ void ASTUnit::CodeComplete(llvm::StringRef File, unsigned Line, unsigned Column, // Use the code completion consumer we were given, but adding any cached // code-completion results. - AugmentedCodeCompleteConsumer - AugmentedConsumer(*this, Consumer, FrontendOpts.ShowMacrosInCodeCompletion, - FrontendOpts.ShowCodePatternsInCodeCompletion, - FrontendOpts.ShowGlobalSymbolsInCodeCompletion); - Clang.setCodeCompletionConsumer(&AugmentedConsumer); + AugmentedCodeCompleteConsumer *AugmentedConsumer + = new AugmentedCodeCompleteConsumer(*this, Consumer, + FrontendOpts.ShowMacrosInCodeCompletion, + FrontendOpts.ShowCodePatternsInCodeCompletion, + FrontendOpts.ShowGlobalSymbolsInCodeCompletion); + Clang.setCodeCompletionConsumer(AugmentedConsumer); // If we have a precompiled preamble, try to use it. We only allow // the use of the precompiled preamble if we're if the completion @@ -1906,7 +1907,6 @@ void ASTUnit::CodeComplete(llvm::StringRef File, unsigned Line, unsigned Column, Clang.takeFileManager(); Clang.takeSourceManager(); Clang.takeInvocation(); - Clang.takeCodeCompletionConsumer(); } bool ASTUnit::Save(llvm::StringRef File) { |