diff --git a/src/CppParser/Parser.cpp b/src/CppParser/Parser.cpp index 8254dbf0..d7d20fe2 100644 --- a/src/CppParser/Parser.cpp +++ b/src/CppParser/Parser.cpp @@ -574,8 +574,11 @@ static TypeQualifiers GetTypeQualifiers(const clang::QualType& Type) return quals; } -QualifiedType Parser::GetQualifiedType(const clang::QualType& qual, const clang::TypeLoc* TL) +QualifiedType Parser::GetQualifiedType(clang::QualType qual, const clang::TypeLoc* TL) { + if (qual.isNull()) + return QualifiedType(); + QualifiedType qualType; qualType.type = WalkType(qual, TL); qualType.qualifiers = GetTypeQualifiers(qual); @@ -3743,6 +3746,9 @@ Declaration* Parser::WalkDeclaration(const clang::Decl* D) { using namespace clang; + if (D == nullptr) + return nullptr; + Declaration* Decl = nullptr; auto Kind = D->getKind();