[flang-commits] [flang] [Flang][OpenMP] Make implicitly captured scalars fully firstprivatized (PR #147442)

Pranav Bhandarkar via flang-commits flang-commits at lists.llvm.org
Mon Aug 4 11:36:46 PDT 2025


================
@@ -2470,6 +2470,36 @@ genSingleOp(lower::AbstractConverter &converter, lower::SymMap &symTable,
       queue, item, clauseOps);
 }
 
+static bool isDuplicateMappedSymbol(
+    const semantics::Symbol &sym,
+    const llvm::SetVector<const semantics::Symbol *> &privatizedSyms,
+    const llvm::SmallVectorImpl<const semantics::Symbol *> &hasDevSyms,
+    const llvm::SmallVectorImpl<const semantics::Symbol *> &mappedSyms) {
+  llvm::SmallVector<const semantics::Symbol *> concatSyms;
+  concatSyms.reserve(privatizedSyms.size() + hasDevSyms.size() +
+                     mappedSyms.size());
+  concatSyms.append(privatizedSyms.begin(), privatizedSyms.end());
+  concatSyms.append(hasDevSyms.begin(), hasDevSyms.end());
+  concatSyms.append(mappedSyms.begin(), mappedSyms.end());
+
+  auto checkSymbol = [&](const semantics::Symbol &checkSym) {
+    if (llvm::is_contained(concatSyms, &checkSym))
+      return true;
+
+    return std::any_of(concatSyms.begin(), concatSyms.end(),
----------------
bhandarkar-pranav wrote:

Sorry, that's exactly what I meant. I meant to mark this comment on L2500 instead of L2489.

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


More information about the flang-commits mailing list