Simplify template instantiation for C++ exception declarations,
eliminating an unnecessary use of TemporaryBase in the process.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113500 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp
index 83ae84e..5a3084c 100644
--- a/tools/libclang/CIndex.cpp
+++ b/tools/libclang/CIndex.cpp
@@ -312,8 +312,6 @@
bool VisitObjCImplDecl(ObjCImplDecl *D);
bool VisitObjCCategoryImplDecl(ObjCCategoryImplDecl *D);
bool VisitObjCImplementationDecl(ObjCImplementationDecl *D);
- // FIXME: ObjCPropertyDecl requires TypeSourceInfo, getter/setter locations,
- // etc.
// FIXME: ObjCCompatibleAliasDecl requires aliased-class locations.
bool VisitObjCForwardProtocolDecl(ObjCForwardProtocolDecl *D);
bool VisitObjCClassDecl(ObjCClassDecl *D);
@@ -846,7 +844,7 @@
}
bool CursorVisitor::VisitObjCPropertyDecl(ObjCPropertyDecl *PD) {
- if (Visit(PD->getTypeSourceInfo()->getTypeLoc()))
+ if (PD->getTypeSourceInfo() && Visit(PD->getTypeSourceInfo()->getTypeLoc()))
return true;
// FIXME: This implements a workaround with @property declarations also being