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

commit a44b187a4b722ddb9518c29e4f4d740cf3cd667d
Author: Mikael Morin <[email protected]>
Date:   Wed Jul 15 18:35:48 2026 +0200

    Correction ISO_Fortran_binding_4

Diff:
---
 gcc/fortran/trans-decl.cc | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/gcc/fortran/trans-decl.cc b/gcc/fortran/trans-decl.cc
index 47b28c1d0032..da24d6115766 100644
--- a/gcc/fortran/trans-decl.cc
+++ b/gcc/fortran/trans-decl.cc
@@ -7694,7 +7694,10 @@ gfc_conv_cfi_to_gfc (stmtblock_t *init, stmtblock_t 
*finally,
                             size_var, gfc_get_cfi_desc_elem_len (cfi));
       tree call = builtin_decl_explicit (BUILT_IN_MALLOC);
       call = build_call_expr_loc (input_location, call, 1, tmp);
-      gfc_add_modify (&block2, data, fold_convert (TREE_TYPE (data), call));
+      if (GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (gfc_desc)))
+       gfc_conv_descriptor_data_set (&block2, gfc_desc, call);
+      else
+       gfc_add_modify (&block2, data, fold_convert (TREE_TYPE (data), call));
 
       /* Copy the data:
         for (idx = 0; idx < size; ++idx)

Reply via email to