diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-08-20 00:59:43 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-08-20 00:59:43 +0000 |
commit | b97b666c472fe6bd73ecd879806ad2b9ba50a2c5 (patch) | |
tree | af3cb8c6b2e0f693affb668d546a003b6598c4d0 /clang/tools/libclang/CIndexCodeCompletion.cpp | |
parent | 12bb5054b32224beaf2d21c48bc096973b901fdd (diff) | |
download | bcm5719-llvm-b97b666c472fe6bd73ecd879806ad2b9ba50a2c5.tar.gz bcm5719-llvm-b97b666c472fe6bd73ecd879806ad2b9ba50a2c5.zip |
When performing code-completion in the presence of a preamble, make
sure to (1) actually use the remapped files we were given rather
than old data, and (2) keep the remapped files alive until the
code-completion results are destroyed. Big thanks to Daniel for the
test case.
llvm-svn: 111597
Diffstat (limited to 'clang/tools/libclang/CIndexCodeCompletion.cpp')
-rw-r--r-- | clang/tools/libclang/CIndexCodeCompletion.cpp | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/clang/tools/libclang/CIndexCodeCompletion.cpp b/clang/tools/libclang/CIndexCodeCompletion.cpp index 53767c44677..c2febf9b722 100644 --- a/clang/tools/libclang/CIndexCodeCompletion.cpp +++ b/clang/tools/libclang/CIndexCodeCompletion.cpp @@ -624,11 +624,6 @@ void clang_codeCompleteAt_Impl(void *UserData) { // Create a code-completion consumer to capture the results. CaptureCompletionResults Capture(*Results); - // Make sure that we free the temporary buffers when the - // code-completion constructor is freed. - for (unsigned I = 0, N = RemappedFiles.size(); I != N; ++I) - Results->TemporaryBuffers.push_back(RemappedFiles[I].second); - // Perform completion. AST->CodeComplete(complete_filename, complete_line, complete_column, RemappedFiles.data(), RemappedFiles.size(), @@ -636,7 +631,8 @@ void clang_codeCompleteAt_Impl(void *UserData) { (options & CXCodeComplete_IncludeCodePatterns), Capture, *Results->Diag, Results->LangOpts, Results->SourceMgr, - Results->FileMgr, Results->Diagnostics); + Results->FileMgr, Results->Diagnostics, + Results->TemporaryBuffers); |