https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92208
--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> --- "fixed" by the following patch: * The LHS [se->string_length] is the string length represented as MAX_EXPR <(integer(kind=8)) D.4012, 0> * The RHS [expr->ts.u.cl->backend_decl] is ..__result The question is now: how to do this properly? --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -8051,3 +8051,3 @@ gfc_conv_array_parameter (gfc_se * se, gfc_expr * expr, bool g77, } - if (expr->ts.type == BT_CHARACTER) + if (false && expr->ts.type == BT_CHARACTER) se->string_length = expr->ts.u.cl->backend_decl;