diff options
Diffstat (limited to 'flang/lib/Semantics/check-coarray.cpp')
-rw-r--r-- | flang/lib/Semantics/check-coarray.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/flang/lib/Semantics/check-coarray.cpp b/flang/lib/Semantics/check-coarray.cpp index 688c3a7c92ad..31fa3088d16b 100644 --- a/flang/lib/Semantics/check-coarray.cpp +++ b/flang/lib/Semantics/check-coarray.cpp @@ -140,6 +140,11 @@ static void CheckEventVariable( void CoarrayChecker::Leave(const parser::ChangeTeamStmt &x) { CheckNamesAreDistinct(std::get<std::list<parser::CoarrayAssociation>>(x.t)); CheckTeamType(context_, std::get<parser::TeamValue>(x.t)); + CheckSyncStatList(context_, std::get<std::list<parser::StatOrErrmsg>>(x.t)); +} + +void CoarrayChecker::Leave(const parser::EndChangeTeamStmt &x) { + CheckSyncStatList(context_, std::get<std::list<parser::StatOrErrmsg>>(x.t)); } void CoarrayChecker::Leave(const parser::SyncAllStmt &x) { @@ -227,6 +232,14 @@ void CoarrayChecker::Leave(const parser::EventWaitStmt &x) { } } +void CoarrayChecker::Leave(const parser::UnlockStmt &x) { + CheckSyncStatList(context_, std::get<std::list<parser::StatOrErrmsg>>(x.t)); +} + +void CoarrayChecker::Leave(const parser::CriticalStmt &x) { + CheckSyncStatList(context_, std::get<std::list<parser::StatOrErrmsg>>(x.t)); +} + void CoarrayChecker::Leave(const parser::ImageSelector &imageSelector) { haveStat_ = false; haveTeam_ = false; |