[flang] [llvm] [Flang][OpenMP][Sema] Adding parsing and semantic support for scan directive. (PR #102792)
Kiran Chandramohan via llvm-commits
llvm-commits at lists.llvm.org
Sun Oct 27 15:44:01 PDT 2024
================
@@ -751,7 +759,47 @@ void OmpStructureChecker::CheckDistLinear(
}
}
-void OmpStructureChecker::Leave(const parser::OpenMPLoopConstruct &) {
+void OmpStructureChecker::Leave(const parser::OpenMPLoopConstruct &x) {
+ const auto &beginLoopDir{std::get<parser::OmpBeginLoopDirective>(x.t)};
+ const auto &clauseList{std::get<parser::OmpClauseList>(beginLoopDir.t)};
+ for (const auto &clause : clauseList.v) {
+ if (const auto *reductionClause{
+ std::get_if<parser::OmpClause::Reduction>(&clause.u)}) {
+ const auto &maybeModifier{
+ std::get<std::optional<ReductionModifier>>(reductionClause->v.t)};
+ if (maybeModifier && *maybeModifier == ReductionModifier::Inscan) {
----------------
kiranchandramohan wrote:
Generally frontend code in flang is more nested.
https://github.com/llvm/llvm-project/pull/102792
More information about the llvm-commits
mailing list