https://gcc.gnu.org/g:ae37bbf67030e20e7cd23d8d966324e7feaa5551
commit ae37bbf67030e20e7cd23d8d966324e7feaa5551 Author: Mikael Morin <[email protected]> Date: Tue Oct 7 21:46:10 2025 +0200 Correction régression char_result_13.f90 Diff: --- gcc/fortran/trans-array.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc index abcaa7df3141..5007e0bfeec3 100644 --- a/gcc/fortran/trans-array.cc +++ b/gcc/fortran/trans-array.cc @@ -8204,7 +8204,9 @@ gfc_conv_expr_descriptor (gfc_se *se, gfc_expr *expr) /* Set the string_length for a character array. */ if (expr->ts.type == BT_CHARACTER) { - if (deferred_array_component && !substr) + if (!substr + && (deferred_array_component + || ss_type == GFC_SS_FUNCTION)) se->string_length = ss_info->string_length; else se->string_length = gfc_get_expr_charlen (expr);
