https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97768
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Or the length could be e.g. local variable: subroutine baz (lens) use fortran_strings, only : to_upper, operator(.in.) integer :: lens character(len=lens) str logical l str = '' l = 32 .in. to_upper(str) end subroutine baz Either we should come up with some syntax how to print the length not known at compile time (but normally * stands for assumed and : for deferred length), or another option is just not to print the length if it isn't known integer constant except for the * the gfc_dummy_typename prints - e.g. print just CHARACTER for default kind and CHARACTER(KIND=4) for kind 4.