diff options
-rw-r--r-- | tools/libclang/CXTypes.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/libclang/CXTypes.cpp b/tools/libclang/CXTypes.cpp index 137370adb2..777afb9bb7 100644 --- a/tools/libclang/CXTypes.cpp +++ b/tools/libclang/CXTypes.cpp @@ -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()) { |