https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85138
--- Comment #6 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- The following variant gives the same ICE module fox_m_fsys_format interface mylen module procedure str_real_sp_len, str_real_sp_fmt_len end interface contains pure function str_real_sp_fmt_len(x, fmt) result(n) real, intent(in) :: x character(len=*), intent(in) :: fmt if (.not.checkFmt()) then endif end function str_real_sp_fmt_len pure function str_real_sp_len(x) result(n) real, intent(in) :: x n = mylen(x, "") end function str_real_sp_len function str_real_dp_matrix(xa) result(s) real, intent(in) :: xa character(len=mylen(xa)) :: s end function str_real_dp_matrix end module fox_m_fsys_format