https://gcc.gnu.org/g:8e4a303f380d9f9982d971afbf93e6bb3e7cb69b
commit 8e4a303f380d9f9982d971afbf93e6bb3e7cb69b 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 59008ae3f2b8..4898112f4934 100644 --- a/gcc/fortran/trans-expr.cc +++ b/gcc/fortran/trans-expr.cc @@ -7619,9 +7619,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);
