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);

Reply via email to