diff options
| author | Douglas Gregor <dgregor@apple.com> | 2010-09-23 18:47:53 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2010-09-23 18:47:53 +0000 |
| commit | ca5b053920772e3d3f9ee4ef13db732ae1c3dc39 (patch) | |
| tree | c5dcef112d2c63c3754e00c2e1c60735752f4ec0 /clang/tools/libclang/CIndex.cpp | |
| parent | 6b8b2b7312f20da4fa34c26be8bb346d88ec1dd5 (diff) | |
| download | bcm5719-llvm-ca5b053920772e3d3f9ee4ef13db732ae1c3dc39.tar.gz bcm5719-llvm-ca5b053920772e3d3f9ee4ef13db732ae1c3dc39.zip | |
Add some missing concurrency checks into libclang
llvm-svn: 114682
Diffstat (limited to 'clang/tools/libclang/CIndex.cpp')
| -rw-r--r-- | clang/tools/libclang/CIndex.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp index 6d6938a1580..d2d00571c1d 100644 --- a/clang/tools/libclang/CIndex.cpp +++ b/clang/tools/libclang/CIndex.cpp @@ -2309,6 +2309,7 @@ struct ReparseTranslationUnitInfo { unsigned options; int result; }; + static void clang_reparseTranslationUnit_Impl(void *UserData) { ReparseTranslationUnitInfo *RTUI = static_cast<ReparseTranslationUnitInfo*>(UserData); @@ -2321,6 +2322,9 @@ static void clang_reparseTranslationUnit_Impl(void *UserData) { 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 @@ static void clang_reparseTranslationUnit_Impl(void *UserData) { 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, |

