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

Reply via email to