]> granicus.if.org Git - clang/commitdiff
[libclang] Do the ConcurrencyCheck at the beginning of clang_findReferencesInFile.
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Tue, 29 Nov 2011 23:21:50 +0000 (23:21 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Tue, 29 Nov 2011 23:21:50 +0000 (23:21 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145455 91177308-0d34-0410-b5e6-96231b3b80d8

tools/libclang/CIndexHigh.cpp

index a2a585454e59c3ef73a557814136371478ae4f92..a4f85b4c12eb2657297a2c327c6ca9b396c85bdf 100644 (file)
@@ -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),