[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


================
@@ -2357,6 +2441,52 @@ bool OmpStructureChecker::CheckReductionOperators(
 
   return ok;
 }
+
+void OmpStructureChecker::AddModifierToMap(
+    const parser::OmpObjectList &x, const ReductionModifier &modifier) {
+  for (const auto &ompObject : x.v) {
+    if (const auto *name{parser::Unwrap<parser::Name>(ompObject)}) {
+      if (const auto *symbol{name->symbol}) {
+        GetContext().reductionMod[symbol->name().ToString()] = modifier;
+      }
+    }
+  }
+}
+
+void OmpStructureChecker::CheckAndAddSymbolsToUsedInScanList(
+    const parser::OmpObjectList &x) {
+  for (const auto &ompObj : x.v) {
+    auto checkScanSymbolInReduction = [&](const parser::Name *name) {
+      if (name->symbol) {
----------------
kiranchandramohan wrote:

Generally frontend code in flang is nested.

https://github.com/llvm/llvm-project/pull/102792


More information about the llvm-commits mailing list