https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110360
--- Comment #17 from anlauf at gcc dot gnu.org --- It appears that gfc_string_to_single_character does not fulfill my expectation. The following ICEs now: subroutine s implicit none interface subroutine ref (c) character :: c end subroutine val (c) character, value :: c end end interface character(len=1) :: c = "A" character(len=10) :: d = "D" call ref (c) call ref (d) call ref (c // d) call val (c // d) ! OK call val (c) ! bad (ok for 13-branch) call val (d) ! bad end The tree-dump shows that 13-branch generates correct code only for the indicated call val (c), while the other two are wrong. Current 14-branch is correct for the case with the temporary e.g. for the string concatenation, and the other two are a complete fail... Running under gdb seems to tell that gfc_string_to_single_character returns a NULL_TREE for yet unknown reason.