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