9#ifndef FORTRAN_SEMANTICS_CHECK_DO_FORALL_H_
10#define FORTRAN_SEMANTICS_CHECK_DO_FORALL_H_
12#include "flang/Common/idioms.h"
13#include "flang/Semantics/semantics.h"
23struct ForallAssignmentStmt;
24struct ForallConstruct;
28struct OutputImpliedDo;
32namespace Fortran::semantics {
35ENUM_CLASS(StmtType, CYCLE, EXIT)
44 void Enter(
const parser::CycleStmt &);
52 void Enter(
const parser::ExitStmt &);
58 void Leave(
const parser::StatVariable &);
63 std::list<SemanticsContext::IndexVarKind> nestedWithinConcurrent_;
66 StmtType,
const char *enclosingStmt,
const ConstructNode &)
const;
67 void CheckDoConcurrentExit(StmtType,
const ConstructNode &)
const;
68 void CheckForBadLeave(StmtType,
const ConstructNode &)
const;
Definition: check-do-forall.h:38
Definition: semantics.h:67
Definition: check-expression.h:19
Definition: parse-tree.h:2016
Definition: parse-tree.h:3276
Definition: parse-tree.h:2671
Definition: parse-tree.h:2338
Definition: parse-tree.h:1700
Definition: parse-tree.h:2114
Definition: parse-tree.h:2143
Definition: parse-tree.h:2120
Definition: parse-tree.h:2887
Definition: parse-tree.h:2729
Definition: parse-tree.h:580
Definition: parse-tree.h:2807
Definition: semantics.h:367