[flang-commits] [flang] [flang] Fix crash with coarray teams #171048 (PR #172259)
via flang-commits
flang-commits at lists.llvm.org
Mon Dec 15 06:00:15 PST 2025
================
@@ -4082,29 +4082,45 @@ class FirConverter : public Fortran::lower::AbstractConverter {
void genFIR(const Fortran::parser::ChangeTeamConstruct &construct) {
Fortran::lower::StatementContext stmtCtx;
pushActiveConstruct(getEval(), stmtCtx);
+ Fortran::lower::pft::Evaluation &eval = getEval();
+ bool unstructuredContext = eval.lowerAsUnstructured();
- for (Fortran::lower::pft::Evaluation &e :
- getEval().getNestedEvaluations()) {
- if (e.getIf<Fortran::parser::ChangeTeamStmt>()) {
- maybeStartBlock(e.block);
- setCurrentPosition(e.position);
- genFIR(e);
- } else if (e.getIf<Fortran::parser::EndChangeTeamStmt>()) {
- maybeStartBlock(e.block);
- setCurrentPosition(e.position);
- genFIR(e);
- } else {
- genFIR(e);
- }
+ // CHANGE TEAM statement
+ Fortran::lower::pft::Evaluation &changeTeamStmtEval =
+ eval.getFirstNestedEvaluation();
+ auto *changeTeamStmt =
+ changeTeamStmtEval.getIf<Fortran::parser::ChangeTeamStmt>();
----------------
jeanPerier wrote:
Please add an assert that changeTeamStmt was found.
https://github.com/llvm/llvm-project/pull/172259
More information about the flang-commits
mailing list