Skip to content

Commit 5ccac5b

Browse files
committed
Check for a dependent expression before walking variable initializer.
1 parent 1407f35 commit 5ccac5b

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/CppParser/Parser.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3398,7 +3398,10 @@ void Parser::WalkVariable(const clang::VarDecl* VD, Variable* Var)
33983398
Var->isConstExpr = VD->isConstexpr();
33993399
Var->name = VD->getName().str();
34003400
Var->access = ConvertToAccess(VD->getAccess());
3401-
Var->initializer = VD->getAnyInitializer() ? WalkVariableInitializerExpression(VD->getAnyInitializer()) : nullptr;
3401+
3402+
auto Init = VD->getAnyInitializer();
3403+
Var->initializer = (Init && !Init->getType()->isDependentType()) ?
3404+
WalkVariableInitializerExpression(Init) : nullptr;
34023405

34033406
auto TL = VD->getTypeSourceInfo()->getTypeLoc();
34043407
Var->qualifiedType = GetQualifiedType(VD->getType(), &TL);

0 commit comments

Comments
 (0)