https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93524
--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> --- Also related to this issue: https://gcc.gnu.org/pipermail/fortran/2021-January/055581.html: In my understanding (see linked email and spec quote in comment 0), CFI_type_signed_char is an integer type – and, hence, it should not be handled at the following place – as pointed out by Harris Snyder in that email: 'CFI_establish' in libgfortran/runtime/ISO_Fortran_binding.c, circa line 348: if (type == CFI_type_char || type == CFI_type_ucs4_char || type == CFI_type_signed_char || type == CFI_type_struct || type == CFI_type_other) dv->elem_len = elem_len; The value is later used for the stride multiplier (sm) – hence, it causes problems if it is set wrongly (to 0). TESTCASE: See linked email.