https://gcc.gnu.org/g:7d44e95279363837d56d315395902fc939aec1b2
commit 7d44e95279363837d56d315395902fc939aec1b2 Author: Mikael Morin <mik...@gcc.gnu.org> Date: Tue Apr 22 21:24:40 2025 +0200 Correction régression dependency_56 Diff: --- gcc/fortran/trans-expr.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gcc/fortran/trans-expr.cc b/gcc/fortran/trans-expr.cc index 873d26ac35e9..709a5420aae6 100644 --- a/gcc/fortran/trans-expr.cc +++ b/gcc/fortran/trans-expr.cc @@ -10390,9 +10390,13 @@ trans_class_vptr_len_assignment (stmtblock_t *block, gfc_expr * le, pre = &rse->pre; if (class_expr != NULL_TREE && UNLIMITED_POLY (re)) - tmp = gfc_evaluate_now (TREE_OPERAND (rse->expr, 0), &rse->pre); + { + tmp = gfc_build_addr_expr (NULL_TREE, rse->expr); + tmp = gfc_evaluate_now (tmp, &rse->pre); + tmp = build_fold_indirect_ref_loc (input_location, tmp); + } else - tmp = gfc_evaluate_now (rse->expr, &rse->pre); + tmp = gfc_evaluate_now (rse->expr, &rse->pre); rse->expr = tmp; }