https://gcc.gnu.org/g:72c6441d3b3bd0d3ef9274c9459ce7251e610f01
commit 72c6441d3b3bd0d3ef9274c9459ce7251e610f01 Author: Mikael Morin <[email protected]> Date: Fri Oct 3 21:48:32 2025 +0200 Correction régression pointer_remapping_10.f90 Diff: --- gcc/fortran/trans-expr.cc | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/gcc/fortran/trans-expr.cc b/gcc/fortran/trans-expr.cc index e8b165f19e33..c2ec19fd62ab 100644 --- a/gcc/fortran/trans-expr.cc +++ b/gcc/fortran/trans-expr.cc @@ -10851,9 +10851,21 @@ gfc_trans_pointer_assignment (gfc_expr * expr1, gfc_expr * expr2) for (i = 0; i < expr2->rank; i++) bound[i] = NULL_TREE; tmp = gfc_typenode_for_spec (&expr2->ts); + enum gfc_array_kind akind; + bool packed; + if (gfc_expr_attr (expr2).contiguous) + { + akind = GFC_ARRAY_POINTER_CONT; + packed = true; + } + else + { + akind = GFC_ARRAY_POINTER; + packed = false; + } tmp = gfc_get_array_type_bounds (tmp, expr2->rank, 0, - bound, bound, 0, - GFC_ARRAY_POINTER, false); + bound, bound, packed, akind, + false); tmp = gfc_create_var (tmp, "ptrtemp"); rse.descriptor_only = 0; rse.expr = tmp;
