@@ -197,11 +197,11 @@ static void WarnUndefinedFunctionResult(
197197
198198using StatementSemanticsPass1 = ExprChecker;
199199using StatementSemanticsPass2 = SemanticsVisitor<AllocateChecker,
200- ArithmeticIfStmtChecker, AssignmentChecker, CaseChecker, CoarrayChecker,
201- DataChecker, DeallocateChecker, DoForallChecker, IfStmtChecker, IoChecker,
202- MiscChecker, NamelistChecker, NullifyChecker, PurityChecker,
203- ReturnStmtChecker, SelectRankConstructChecker, SelectTypeChecker,
204- StopChecker >;
200+ ArithmeticIfStmtChecker, CaseChecker, CoarrayChecker, DataChecker ,
201+ DeallocateChecker, DoForallChecker, IfStmtChecker, IoChecker, MiscChecker ,
202+ NamelistChecker, NullifyChecker, PurityChecker, ReturnStmtChecker ,
203+ SelectRankConstructChecker, SelectTypeChecker, StopChecker>;
204+ using StatementSemanticsPass3 = SemanticsVisitor<AssignmentChecker >;
205205
206206static bool PerformStatementSemantics (
207207 SemanticsContext &context, parser::Program &program) {
@@ -212,6 +212,7 @@ static bool PerformStatementSemantics(
212212 StatementSemanticsPass1{context}.Walk (program);
213213 StatementSemanticsPass2 pass2{context};
214214 pass2.Walk (program);
215+ StatementSemanticsPass3{context}.Walk (program);
215216 if (context.languageFeatures ().IsEnabled (common::LanguageFeature::OpenACC)) {
216217 SemanticsVisitor<AccStructureChecker>{context}.Walk (program);
217218 }
0 commit comments