[flang-commits] [flang] [llvm] [flang][MIF] Adding lowering for EVENT POST/WAIT statements (PR #210283)
via flang-commits
flang-commits at lists.llvm.org
Sat Oct 10 23:34:48 PDT 2026
================
@@ -215,7 +215,7 @@ func.func @_QPtest_alloc2() {
%20 = fir.embox %4 : (!fir.ref<!fir.array<1xi64>>) -> !fir.box<!fir.array<1xi64>>
%21 = fir.embox %3 : (!fir.ref<!fir.array<0xi64>>) -> !fir.box<!fir.array<0xi64>>
mif.alloc_coarray %9 lcobounds %20 ucobounds %21 errmsg %16 {uniq_name = "_QFtest_alloc2Ea"} : (!fir.ref<!fir.class<!fir.heap<none>, corank:1>>, !fir.box<!fir.array<1xi64>>, !fir.box<!fir.array<0xi64>>, !fir.box<none>) -> ()
-// CHECK: fir.call @_QMprifPprif_allocate_coarray({{.*}}) : (!fir.box<!fir.array<?xi64>>, !fir.box<!fir.array<?xi64>>, !fir.ref<i64>, !fir.ref<none>, !fir.ref<none>, !fir.ptr<none>, !fir.ref<i32>, !fir.box<!fir.char<1,?>>, !fir.box<!fir.char<1,?>>) -> ()
+// CHECK: fir.call @_QMprifPprif_allocate_coarray({{.*}}) : (!fir.box<!fir.array<?xi64>>, !fir.box<!fir.array<?xi64>>, !fir.ref<i64>, !fir.ref<none>, !fir.ref<none>, !fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_c_ptr{__address:i64}>>, !fir.ref<i32>, !fir.box<!fir.char<1,?>>, !fir.box<!fir.char<1,?>>) -> ()
----------------
MattPD wrote:
`test_alloc2` allocates two `class(*)` coarrays, so it reaches the new `fir::isPolymorphicType` condition in `MIFOpConversion.cpp`. It checks only `prif_allocate_coarray`, though, so it passes with or without that condition. Adding these two lines after this CHECK line and again after the one for the second allocation would cover that condition:
```
// CHECK: fir.call @_FortranAInitialize(
// CHECK: fir.call @_QMprifPprif_sync_all(
```
https://github.com/llvm/llvm-project/pull/210283
More information about the flang-commits
mailing list