[cfe-commits] r114682 - in /cfe/trunk/tools/libclang: CIndex.cpp CIndexCodeCompletion.cpp
Douglas Gregor
dgregor at apple.com
Thu Sep 23 11:47:53 PDT 2010
Author: dgregor
Date: Thu Sep 23 13:47:53 2010
New Revision: 114682
URL: http://llvm.org/viewvc/llvm-project?rev=114682&view=rev
Log:
Add some missing concurrency checks into libclang
Modified:
cfe/trunk/tools/libclang/CIndex.cpp
cfe/trunk/tools/libclang/CIndexCodeCompletion.cpp
Modified: cfe/trunk/tools/libclang/CIndex.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CIndex.cpp?rev=114682&r1=114681&r2=114682&view=diff
==============================================================================
--- cfe/trunk/tools/libclang/CIndex.cpp (original)
+++ cfe/trunk/tools/libclang/CIndex.cpp Thu Sep 23 13:47:53 2010
@@ -2309,6 +2309,7 @@
unsigned options;
int result;
};
+
static void clang_reparseTranslationUnit_Impl(void *UserData) {
ReparseTranslationUnitInfo *RTUI =
static_cast<ReparseTranslationUnitInfo*>(UserData);
@@ -2321,6 +2322,9 @@
if (!TU)
return;
+
+ ASTUnit *CXXUnit = static_cast<ASTUnit *>(TU);
+ ASTUnit::ConcurrencyCheck Check(*CXXUnit);
llvm::SmallVector<ASTUnit::RemappedFile, 4> RemappedFiles;
for (unsigned I = 0; I != num_unsaved_files; ++I) {
@@ -2331,10 +2335,10 @@
Buffer));
}
- if (!static_cast<ASTUnit *>(TU)->Reparse(RemappedFiles.data(),
- RemappedFiles.size()))
- RTUI->result = 0;
+ if (!CXXUnit->Reparse(RemappedFiles.data(), RemappedFiles.size()))
+ RTUI->result = 0;
}
+
int clang_reparseTranslationUnit(CXTranslationUnit TU,
unsigned num_unsaved_files,
struct CXUnsavedFile *unsaved_files,
Modified: cfe/trunk/tools/libclang/CIndexCodeCompletion.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CIndexCodeCompletion.cpp?rev=114682&r1=114681&r2=114682&view=diff
==============================================================================
--- cfe/trunk/tools/libclang/CIndexCodeCompletion.cpp (original)
+++ cfe/trunk/tools/libclang/CIndexCodeCompletion.cpp Thu Sep 23 13:47:53 2010
@@ -622,6 +622,8 @@
if (!AST)
return;
+ ASTUnit::ConcurrencyCheck Check(*AST);
+
// Perform the remapping of source files.
llvm::SmallVector<ASTUnit::RemappedFile, 4> RemappedFiles;
for (unsigned I = 0; I != num_unsaved_files; ++I) {
More information about the cfe-commits
mailing list