[flang-commits] [flang] [flang][OpenMP] Initialize allocatable members of derived types (PR #120295)

Tom Eccles via flang-commits flang-commits at lists.llvm.org
Fri Jan 10 08:59:33 PST 2025


================
@@ -165,8 +182,8 @@ bool DataSharingProcessor::needBarrier() {
   // variables.
   // Emit implicit barrier for linear clause. Maybe on somewhere else.
   for (const semantics::Symbol *sym : allPrivatizedSymbols) {
-    if (sym->test(semantics::Symbol::Flag::OmpFirstPrivate) &&
-        sym->test(semantics::Symbol::Flag::OmpLastPrivate))
+    if (sym->test(semantics::Symbol::Flag::OmpLastPrivate) &&
+        (sym->test(semantics::Symbol::Flag::OmpFirstPrivate) || callsInitClone))
----------------
tblah wrote:

Why don't we need this barrier in other cases, e.g. when `FortranAInitialize` (not the clone variant) is used?

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


More information about the flang-commits mailing list