diff options
Diffstat (limited to 'flang/lib/Semantics/check-omp-structure.cpp')
-rw-r--r-- | flang/lib/Semantics/check-omp-structure.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/flang/lib/Semantics/check-omp-structure.cpp b/flang/lib/Semantics/check-omp-structure.cpp index ea6fe43..e2f8796 100644 --- a/flang/lib/Semantics/check-omp-structure.cpp +++ b/flang/lib/Semantics/check-omp-structure.cpp @@ -1535,6 +1535,7 @@ void OmpStructureChecker::Enter(const parser::OpenMPRequiresConstruct &x) { [&](auto &&s) { using TypeS = llvm::remove_cvref_t<decltype(s)>; if constexpr ( // + std::is_same_v<TypeS, parser::OmpClause::DeviceSafesync> || std::is_same_v<TypeS, parser::OmpClause::DynamicAllocators> || std::is_same_v<TypeS, parser::OmpClause::ReverseOffload> || std::is_same_v<TypeS, parser::OmpClause::SelfMaps> || @@ -2616,7 +2617,7 @@ void OmpStructureChecker::Enter(const parser::OpenMPCriticalConstruct &x) { auto getNameFromArg{[](const parser::OmpArgument &arg) { if (auto *object{parser::Unwrap<parser::OmpObject>(arg.u)}) { if (auto *designator{omp::GetDesignatorFromObj(*object)}) { - return getDesignatorNameIfDataRef(*designator); + return parser::GetDesignatorNameIfDataRef(*designator); } } return static_cast<const parser::Name *>(nullptr); @@ -5194,6 +5195,10 @@ void OmpStructureChecker::Enter( CheckAllowedRequiresClause(llvm::omp::Clause::OMPC_atomic_default_mem_order); } +void OmpStructureChecker::Enter(const parser::OmpClause::DeviceSafesync &x) { + CheckAllowedRequiresClause(llvm::omp::Clause::OMPC_device_safesync); +} + void OmpStructureChecker::Enter(const parser::OmpClause::DynamicAllocators &x) { CheckAllowedRequiresClause(llvm::omp::Clause::OMPC_dynamic_allocators); } |