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

commit f9ced25b916daa05783aa44a8b1bd2a6c0875db7
Author: Mikael Morin <[email protected]>
Date:   Tue Oct 14 11:47:30 2025 +0200

    Correction régression coarray_poly_9.f90

Diff:
---
 gcc/fortran/trans-descriptor.cc | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gcc/fortran/trans-descriptor.cc b/gcc/fortran/trans-descriptor.cc
index 9b3fe8cb6891..49f8d4a4a778 100644
--- a/gcc/fortran/trans-descriptor.cc
+++ b/gcc/fortran/trans-descriptor.cc
@@ -1957,10 +1957,13 @@ copy_dimension (stmtblock_t *block, tree dest, tree 
src, tree dim,
 {
   tree lbound = gfc_conv_descriptor_lbound_get (src, dim);
   tree ubound = gfc_conv_descriptor_ubound_get (src, dim);
+  tree stride_raw = gfc_conv_descriptor_stride_get (src, dim);
   tree stride;
-  if (GFC_BYTES_STRIDES_ARRAY_TYPE_P (TREE_TYPE (dest)))
+  if (GFC_BYTES_STRIDES_ARRAY_TYPE_P (TREE_TYPE (dest))
+      == GFC_BYTES_STRIDES_ARRAY_TYPE_P (TREE_TYPE (src)))
+    stride = stride_raw;
+  else if (GFC_BYTES_STRIDES_ARRAY_TYPE_P (TREE_TYPE (dest)))
     {
-      tree stride_raw = gfc_conv_descriptor_stride_get (src, dim);
       stride = fold_build2_loc (input_location, MULT_EXPR,
                                gfc_array_index_type, stride_raw,
                                element_len);

Reply via email to