From d8a5dba9c2c09c335d8b6b6a2675da6477f329b3 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Wed, 4 Aug 2010 17:07:00 +0000 Subject: When performing in-process code completion, don't free the remapped file buffers until the code completion results are destroyed; diagnostics may end up referring into the source. llvm-svn: 110216 --- clang/lib/Frontend/ASTUnit.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'clang/lib/Frontend/ASTUnit.cpp') diff --git a/clang/lib/Frontend/ASTUnit.cpp b/clang/lib/Frontend/ASTUnit.cpp index 5bffbacaf69..2d1708ccc6e 100644 --- a/clang/lib/Frontend/ASTUnit.cpp +++ b/clang/lib/Frontend/ASTUnit.cpp @@ -1213,6 +1213,7 @@ void ASTUnit::CodeComplete(llvm::StringRef File, unsigned Line, unsigned Column, // Remap files. PreprocessorOpts.clearRemappedFiles(); + PreprocessorOpts.RetainRemappedFileBuffers = true; for (unsigned I = 0; I != NumRemappedFiles; ++I) PreprocessorOpts.addRemappedFile(RemappedFiles[I].first, RemappedFiles[I].second); -- cgit v1.2.3