https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92887
--- Comment #3 from anlauf at gcc dot gnu.org --- When using the tentative patch https://gcc.gnu.org/bugzilla/attachment.cgi?id=55333 and adding a hackish else if (e && fsym && fsym->attr.value && e->expr_type == EXPR_VARIABLE) { parmse.expr = gfc_evaluate_now (parmse.expr, &parmse.pre); } I see a temporary generated for the integer arguments, but not for the character variable. The above hackish addition is even not yet correct: we must not dereference a disassociated pointer when copying to the temporary ...