[flang-commits] [flang] [flang][OpenMP] Fix crash when a sliced array is specified in a forall within a workshare construct (PR #170913)

Tom Eccles via flang-commits flang-commits at lists.llvm.org
Wed Dec 17 09:59:10 PST 2025


================
@@ -335,6 +375,11 @@ static void parallelizeRegion(Region &sourceRegion, Region &targetRegion,
 
     for (auto [i, opOrSingle] : llvm::enumerate(regions)) {
       bool isLast = i + 1 == regions.size();
+      // Make sure shared runtime calls are synchronized: disable `nowait`
+      // insertion, and rely on the implicit barrier at the end of the
+      // omp.workshare block.
+      if (isa<fir::DoLoopOp>(block.getParentOp()))
----------------
tblah wrote:

Why should this only apply for do-loops?

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


More information about the flang-commits mailing list