]> granicus.if.org Git - clang/commitdiff
Add check for an invalid CXType in clang_getTypeDeclaration.
authorTed Kremenek <kremenek@apple.com>
Sat, 29 May 2010 20:01:52 +0000 (20:01 +0000)
committerTed Kremenek <kremenek@apple.com>
Sat, 29 May 2010 20:01:52 +0000 (20:01 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105111 91177308-0d34-0410-b5e6-96231b3b80d8

tools/libclang/CXTypes.cpp

index 137370adb2005739d0aeb62d52d01d51985207c6..777afb9bb7a6c6c86fc1ef0e2765ff83db0b5a64 100644 (file)
@@ -165,8 +165,15 @@ CXType clang_getPointeeType(CXType CT) {
 }
 
 CXCursor clang_getTypeDeclaration(CXType CT) {
+  if (CT.kind == CXType_Invalid)
+    return cxcursor::MakeCXCursorInvalid(CXCursor_NoDeclFound);
+
   QualType T = GetQualType(CT);
   Type *TP = T.getTypePtr();
+
+  if (!TP)
+    return cxcursor::MakeCXCursorInvalid(CXCursor_NoDeclFound);
+
   Decl *D = 0;
 
   switch (TP->getTypeClass()) {