https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83079
anlauf at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |anlauf at gcc dot gnu.org --- Comment #3 from anlauf at gcc dot gnu.org --- (In reply to G. Steinmetz from comment #1) > While these variants compile : > $ cat z5.f90 > program p > print *, transfer(4_'xy', 4_'a') > end This example works with constant arguments, but gives a wrong result (including junk characters) if the arguments are replaced by variables. character(kind=4,len=2) :: xy = 4_'XY' character(kind=4,len=1) :: z = 4_'Z' print *, transfer (xy,z) end program % gfc-9 z5a.f90 && ./a.out | cat -ev XYZ^@$ I have a patch for this one that regtests cleanly, but it does not address the ICE in comment#0. Investigating further.