diff --git a/flang-rt/lib/runtime/ISO_Fortran_binding.cpp b/flang-rt/lib/runtime/ISO_Fortran_binding.cpp index a5f8b357ae0b8..7a12453f058f9 100644 --- a/flang-rt/lib/runtime/ISO_Fortran_binding.cpp +++ b/flang-rt/lib/runtime/ISO_Fortran_binding.cpp @@ -297,6 +297,12 @@ RT_API_ATTRS int CFI_setpointer(CFI_cdesc_t *result, const CFI_cdesc_t *source, return CFI_SUCCESS; } +RT_API_ATTRS void CFI_show(const CFI_cdesc_t *descr) { + if (descr) { + reinterpret_cast(descr)->Dump(stderr); + } +} + RT_EXT_API_GROUP_END } // extern "C" } // namespace Fortran::ISO diff --git a/flang/include/flang/ISO_Fortran_binding.h b/flang/include/flang/ISO_Fortran_binding.h index f5b8d0d2ea610..ec95ac7aaa7d9 100644 --- a/flang/include/flang/ISO_Fortran_binding.h +++ b/flang/include/flang/ISO_Fortran_binding.h @@ -208,6 +208,7 @@ RT_API_ATTRS int CFI_select_part(CFI_cdesc_t *, const CFI_cdesc_t *source, size_t displacement, size_t elem_len); RT_API_ATTRS int CFI_setpointer( CFI_cdesc_t *, const CFI_cdesc_t *source, const CFI_index_t lower_bounds[]); +RT_API_ATTRS void CFI_show(const CFI_cdesc_t *descr); #ifdef __cplusplus } // extern "C" #endif