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

commit fbe6cf6af27a5cee62fe0c933afaf27e79f80020
Author: Mikael Morin <[email protected]>
Date:   Fri Jun 26 16:42:27 2026 +0200

    Correction régression CFI section-1.f90

Diff:
---
 gcc/fortran/trans-expr.cc  | 4 ++--
 gcc/fortran/trans-types.cc | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/gcc/fortran/trans-expr.cc b/gcc/fortran/trans-expr.cc
index ca0f2e5ba545..eb1bb0f4cd56 100644
--- a/gcc/fortran/trans-expr.cc
+++ b/gcc/fortran/trans-expr.cc
@@ -6253,10 +6253,10 @@ gfc_conv_gfc_desc_to_cfi_desc (gfc_se *parmse, gfc_expr 
*e, gfc_symbol *fsym)
   gfc_add_modify (&block, tmp,
                  build_int_cst (TREE_TYPE (tmp), CFI_VERSION));
   if (e->rank < 0)
-    rank = fold_convert (gfc_dim_index_type_node,
+    rank = fold_convert (signed_char_type_node,
                         gfc_conv_descriptor_rank_get (gfc));
   else
-    rank = build_int_cst (gfc_dim_index_type_node, e->rank);
+    rank = build_int_cst (signed_char_type_node, e->rank);
   tmp = gfc_get_cfi_desc_rank (cfi);
   gfc_add_modify (&block, tmp, rank);
   int itype = CFI_type_other;
diff --git a/gcc/fortran/trans-types.cc b/gcc/fortran/trans-types.cc
index 399e1daf9677..c39f3cbc7cae 100644
--- a/gcc/fortran/trans-types.cc
+++ b/gcc/fortran/trans-types.cc
@@ -4161,7 +4161,7 @@ gfc_get_cfi_type (int dimen, bool restricted)
                                     integer_type_node, &chain);
   suppress_warning (field);
   field = gfc_add_field_to_struct_1 (CFI_cdesc_t, get_identifier ("rank"),
-                                    gfc_rank_type_node, &chain);
+                                    signed_char_type_node, &chain);
   suppress_warning (field);
   field = gfc_add_field_to_struct_1 (CFI_cdesc_t, get_identifier ("attribute"),
                                     signed_char_type_node, &chain);

Reply via email to