https://gcc.gnu.org/g:dfbece07a4b1d24d15f36e2da7c3535ab0d29840

commit dfbece07a4b1d24d15f36e2da7c3535ab0d29840
Author: Mikael Morin <[email protected]>
Date:   Fri Oct 9 12:19:44 2026 +0200

    Correction mineure conditions

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 7c11c26dbbae..d0a323836352 100644
--- a/gcc/fortran/trans-expr.cc
+++ b/gcc/fortran/trans-expr.cc
@@ -11954,10 +11954,10 @@ gfc_trans_pointer_assignment (gfc_expr * expr1, 
gfc_expr * expr2)
              gfc_conv_descriptor_data_set (&block, desc, data);
 
              /* Copy the span.  */
-             if (expr2->ts.type != BT_CLASS
-                 && expr2->ts.type != BT_CHARACTER
-                 && (expr2->ts.type != BT_DERIVED
-                     || !expr2->ts.u.derived->attr.pdt_type))
+             if (!(expr2->ts.type == BT_CLASS
+                   || expr2->ts.type == BT_CHARACTER
+                   || (expr2->ts.type == BT_DERIVED
+                       && expr2->ts.u.derived->attr.pdt_type)))
                {
                  tmp = TREE_TYPE (rse.expr);
                  tmp = TYPE_SIZE_UNIT (gfc_get_element_type (tmp));
@@ -11978,7 +11978,7 @@ gfc_trans_pointer_assignment (gfc_expr * expr1, 
gfc_expr * expr2)
                  span = gfc_vptr_size_get (vptr);
                }
              else
-               span = gfc_conv_array_span (rse.expr);
+               span = gfc_get_array_span (rse.expr, expr2);
              gfc_conv_descriptor_span_set (&block, desc, span);
 
              /* Copy offset but adjust it such that it would correspond

Reply via email to