https://gcc.gnu.org/g:5c48f280a9ecf85b2f0ee4715b6bc757ab665681

commit 5c48f280a9ecf85b2f0ee4715b6bc757ab665681
Author: Mikael Morin <[email protected]>
Date:   Tue Oct 7 21:02:08 2025 +0200

    Correction partielle maxval_char_2.f90

Diff:
---
 gcc/fortran/trans-expr.cc | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gcc/fortran/trans-expr.cc b/gcc/fortran/trans-expr.cc
index c2ec19fd62ab..2e3c9c2e6c55 100644
--- a/gcc/fortran/trans-expr.cc
+++ b/gcc/fortran/trans-expr.cc
@@ -7624,9 +7624,10 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
                {
                  /* This is where we introduce a temporary to store the
                     result of a non-lvalue array expression.  */
-                 if (expr
-                     && expr->expr_type == EXPR_FUNCTION
-                     && expr->value.function.isym != nullptr)
+                 if ((expr
+                      && expr->expr_type == EXPR_FUNCTION
+                      && expr->value.function.isym != nullptr)
+                     || (sym && sym->attr.proc == PROC_INTRINSIC))
                    parmse.bytes_strided = 1;
                  gfc_conv_array_parameter (&parmse, e, nodesc_arg, fsym,
                                            sym->name, NULL);

Reply via email to