Skip to content

Commit 99e5e19

Browse files
authored
Fix crash on nullptr TemplateTypeParm decl (#1901)
1 parent 399dd38 commit 99e5e19

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/CppParser/Parser.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2868,9 +2868,13 @@ Type* Parser::WalkType(clang::QualType QualType, const clang::TypeLoc* TL,
28682868
}
28692869

28702870
assertm(TL->getTypeLocClass() == TypeLoc::TemplateTypeParm, "Token should be template type parameter!\n");
2871-
auto TTTL = TL->getAs<TemplateTypeParmTypeLoc>();
2871+
auto TTPTL = TL->getAs<TemplateTypeParmTypeLoc>();
2872+
auto TTPD = TTPTL.getDecl();
28722873

2873-
TPT->parameter = WalkTypeTemplateParameter(TTTL.getDecl());
2874+
if (!TTPD)
2875+
return nullptr; // Can happen when a template param is used in a nested template argument
2876+
2877+
TPT->parameter = WalkTypeTemplateParameter(TTPD);
28742878
}
28752879
else if (TP->getDecl())
28762880
TPT->parameter = WalkTypeTemplateParameter(TP->getDecl());

0 commit comments

Comments
 (0)