aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-11-29 23:21:50 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-11-29 23:21:50 +0000
commit5c2a1f741e133fcad4782b855a18d3b220243b11 (patch)
tree10c092f7e197a701fe23f7a8bd8b0ba7a2aacafd
parent592d26eafab66ba6288c09b66068c67ab2764c35 (diff)
[libclang] Do the ConcurrencyCheck at the beginning of clang_findReferencesInFile.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145455 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--tools/libclang/CIndexHigh.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/tools/libclang/CIndexHigh.cpp b/tools/libclang/CIndexHigh.cpp
index a2a585454e..a4f85b4c12 100644
--- a/tools/libclang/CIndexHigh.cpp
+++ b/tools/libclang/CIndexHigh.cpp
@@ -343,6 +343,12 @@ void clang_findReferencesInFile(CXCursor cursor, CXFile file,
return;
}
+ ASTUnit *CXXUnit = cxcursor::getCursorASTUnit(cursor);
+ if (!CXXUnit)
+ return;
+
+ ASTUnit::ConcurrencyCheck Check(*CXXUnit);
+
if (cursor.kind == CXCursor_MacroDefinition ||
cursor.kind == CXCursor_MacroExpansion) {
findMacroRefsInFile(cxcursor::getCursorTU(cursor),
@@ -370,9 +376,6 @@ void clang_findReferencesInFile(CXCursor cursor, CXFile file,
return;
}
- ASTUnit *CXXUnit = cxcursor::getCursorASTUnit(cursor);
- ASTUnit::ConcurrencyCheck Check(*CXXUnit);
-
findIdRefsInFile(cxcursor::getCursorTU(cursor),
refCursor,
static_cast<const FileEntry *>(file),