[flang-commits] [flang] [flang][OpenMP] Lower cross-module operator declare reduction (PR #207493)
via flang-commits
flang-commits at lists.llvm.org
Mon Jul 6 10:49:38 PDT 2026
MattPD wrote:
Fixed. The resolver now collects every distinct reduction the identifier reaches rather than stopping at the first. The clause is rejected when more than one distinct user-defined reduction supports the list item's type. The new logic covers the renamed-operator merge you described, the non-renamed same-name variant, and intrinsic-operator/special-function reduction-name collisions across modules. I added tests, including the USE-order-swap case.
One documented limitation remains, pinned by a test. In an inconsistent hermetic build, a same-named module is loaded at two versions. Flang does not distinguish them, because only the combiner body differs. The limitation matches Flang's existing tolerance of such builds.
https://github.com/llvm/llvm-project/pull/207493
More information about the flang-commits
mailing list