https://gcc.gnu.org/g:cab83c9c7c871eeb8157eb88dc74e962f6a1af54
commit cab83c9c7c871eeb8157eb88dc74e962f6a1af54 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 efbaf76f1074..2c689abc9559 100644 --- a/gcc/fortran/trans-expr.cc +++ b/gcc/fortran/trans-expr.cc @@ -10447,9 +10447,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; }