https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92775
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 47426 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47426&action=edit gcc10-pr92775.patch Untested fix. Unfortunately, this regresses debug info size a little bit for the common case where we know the span field in the descriptor is constant equal to TYPE_SIZE_UNIT (etype), previously we used at least for sizes 1 to 31 DW_OP_litN, which is 1 byte long, and now we need to use 4 bytes - DW_OP_push_object_address, DW_OP_plus_uconst, 32 (or 20 for ilp32), DW_OP_deref. It would be helpful if TYPE_LANG_SPECIFIC could contain some flag whether the span field needs to be used or not, like in the past one could test GFC_TYPE_ARRAY_SPAN (type) != NULL_TREE. If the FE provides something, the debug hook can be adjusted to use the base->span only if really needed and TYPE_SIZE_UNIT (etype) otherwise.