diff options
author | Ted Kremenek <kremenek@apple.com> | 2010-05-29 20:01:52 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2010-05-29 20:01:52 +0000 |
commit | b3da539e0dd33f3fbb55132de3c65e0b6e1a4bc4 (patch) | |
tree | ac85179f4e7d95ac3bcafbdd064e93d65b5e7f99 | |
parent | 3cd09ccbb1a750a7b40593a7b0a2d95ee2a0ba0e (diff) |
Add check for an invalid CXType in clang_getTypeDeclaration.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105111 91177308-0d34-0410-b5e6-96231b3b80d8
-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()) { |