https://gcc.gnu.org/g:1d80c15181742708148454a20d8848da96c57954
commit 1d80c15181742708148454a20d8848da96c57954 Author: Mikael Morin <[email protected]> Date: Mon Oct 19 15:00:33 2026 +0200 Déplacement code Diff: --- gcc/fortran/trans-expr.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gcc/fortran/trans-expr.cc b/gcc/fortran/trans-expr.cc index 945de1ca3b79..18731a42cc34 100644 --- a/gcc/fortran/trans-expr.cc +++ b/gcc/fortran/trans-expr.cc @@ -1985,11 +1985,6 @@ trans_scalar_class_assign (stmtblock_t *block, gfc_se *lse, gfc_se *rse) class_data = gfc_conv_descriptor_data_get (class_data); class_data = gfc_evaluate_now (class_data, block); - zero = build_int_cst (TREE_TYPE (class_data), 0); - cond = fold_build2_loc (input_location, NE_EXPR, - logical_type_node, - class_data, zero); - /* Copy the rhs to the lhs. */ fcn = gfc_vptr_copy_get (gfc_class_vptr_get (rse_expr)); fcn = build_fold_indirect_ref_loc (input_location, fcn); @@ -2003,6 +1998,11 @@ trans_scalar_class_assign (stmtblock_t *block, gfc_se *lse, gfc_se *rse) if (not_call_expr) return true; + zero = build_int_cst (TREE_TYPE (class_data), 0); + cond = fold_build2_loc (input_location, NE_EXPR, + logical_type_node, + class_data, zero); + /* Finalize the class data if needed. */ gfc_init_block (&inner_block); fcn = gfc_vptr_final_get (gfc_class_vptr_get (rse_expr));
