[cfe-commits] r130034 - /cfe/trunk/tools/libclang/CIndex.cpp

Douglas Gregor dgregor at apple.com
Fri Apr 22 16:49:24 PDT 2011


Author: dgregor
Date: Fri Apr 22 18:49:24 2011
New Revision: 130034

URL: http://llvm.org/viewvc/llvm-project?rev=130034&view=rev
Log:
Teach libclang to be more careful around BlockDecls, and don't assume
that a TypeSourceInfo is always available, like we do everywhere else
in libclang. Fixes <rdar://problem/9311140>.

Modified:
    cfe/trunk/tools/libclang/CIndex.cpp

Modified: cfe/trunk/tools/libclang/CIndex.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CIndex.cpp?rev=130034&r1=130033&r2=130034&view=diff
==============================================================================
--- cfe/trunk/tools/libclang/CIndex.cpp (original)
+++ cfe/trunk/tools/libclang/CIndex.cpp Fri Apr 22 18:49:24 2011
@@ -582,8 +582,9 @@
 }
 
 bool CursorVisitor::VisitBlockDecl(BlockDecl *B) {
-  if (Visit(B->getSignatureAsWritten()->getTypeLoc()))
-    return true;
+  if (TypeSourceInfo *TSInfo = B->getSignatureAsWritten())
+    if (Visit(TSInfo->getTypeLoc()))
+        return true;
 
   if (Stmt *Body = B->getBody())
     return Visit(MakeCXCursor(Body, StmtParent, TU));





More information about the cfe-commits mailing list