https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93678
--- Comment #7 from anlauf at gcc dot gnu.org --- (In reply to Thomas Koenig from comment #5) > A somewhat smaller test case, which of course does nothing useful, > but still reproduces the ICE: Further reduced / simplified: module mo_a implicit none type t_b contains procedure :: unpackbytes => b_unpackbytes end type t_b contains subroutine b_unpackint (me) class(t_b), intent(inout) :: me integer :: val val = transfer (me% unpackbytes ("*"), val) end subroutine b_unpackint function b_unpackbytes (me, bytearraymold) result (res) class(t_b), intent(inout) :: me character(*), intent(in) :: bytearraymold character :: res(1) end function b_unpackbytes end module mo_a