[flang-commits] [flang] [flang][OpenMP] Reuse canonical default mapper names for nested mappings - fix issue #210402 (PR #212251)

via flang-commits flang-commits at lists.llvm.org
Mon Aug 17 06:23:19 PDT 2026


laoshd wrote:

> Thanks for adding the previous test.
> 
> I think there is still one adjacent direct-PDT case: direct reuse of an explicit PDT default mapper. With this test, the explicit mapper is declared as the kindless `pdt_omp_default_mapper`, but the direct `target data map(h4)` does not attach that mapper:
> 
> ```fortran
> module direct_explicit_pdt_case
>   type :: pdt(k)
>     integer, kind :: k
>     real(k) :: x
>   end type
>   !$omp declare mapper(default: pdt(4) :: v) map(tofrom: v%x)
> contains
>   subroutine trigger
>     type(pdt(4)) :: h4
>     !$omp target data map(h4)
>     !$omp end target data
>   end subroutine
> end module
> 
> ! CHECK-DAG: omp.declare_mapper @{{.*}}pdt_omp_default_mapper : !fir.type<{{.*}}TpdtK4
> ! CHECK-DAG: mapper(@{{.*}}pdt_omp_default_mapper)
> ```

Test case added. Also fixed problems that caused the test to fail.

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


More information about the flang-commits mailing list