https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93678
--- Comment #3 from Luis Kornblueh <mail.luis at web dot de> --- Thanks @kargl for simplifing my still very long case. However, a bug has been introduced in this version. The nested transfers cannot be split into two as the result of the first transfer is not a character :: c(1) result, but, in the nested case a presumably character :: tmp(4) array to keep an integer. which gets passed to the outer transfer. A write another, a bit bigger case, doing things correctly. I created a new testcase, a little bit larger, but, as I think, correct Fortran.