https://gcc.gnu.org/g:44a9d813aaad5e4bb3d9094ae3c9d3ad96647651

commit 44a9d813aaad5e4bb3d9094ae3c9d3ad96647651
Author: Mikael Morin <mik...@gcc.gnu.org>
Date:   Sun Aug 10 21:23:45 2025 +0200

    Renseignement dtype par défaut
    
    Revert "Correction initialisation write_destination"
    
    This reverts commit 38bbc288025a34431268a17efee4231bff1a32d3.
    
    Revert "Non renseignement dtype par défaut"
    
    This reverts commit 8af77250f7e46d9913e6f2b44ac4bbac4c9fd1db.

Diff:
---
 gcc/fortran/trans-descriptor.cc | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/gcc/fortran/trans-descriptor.cc b/gcc/fortran/trans-descriptor.cc
index 799a8e69c000..7ab26b5a05ad 100644
--- a/gcc/fortran/trans-descriptor.cc
+++ b/gcc/fortran/trans-descriptor.cc
@@ -716,7 +716,7 @@ class constructor_elements
   bool constant;
 
 public:
-  constructor_elements () : values(nullptr), constant(true) {}
+  constructor_elements () : values(NULL), constant(true) {}
   void add_value (tree elt, tree val);
   tree build (tree type);
 };
@@ -770,8 +770,8 @@ struct write_destination
   }
   u;
 
-  write_destination (tree r, stmtblock_t *b) : type (REGULAR_ASSIGN), ref (r), 
u (b) {}
-  write_destination (tree d) : type (STATIC_INIT), ref(d), u() {}
+  write_destination (tree r, stmtblock_t *b) : ref(r), u(b) {}
+  write_destination (tree d) : ref(d), u() {}
 };
 
 
@@ -951,11 +951,13 @@ gfc_init_descriptor_variable (stmtblock_t *block, 
gfc_symbol *sym, tree descr)
       gfc_conv_descriptor_data_set (block, descr, null_pointer_node);
       if (flag_coarray == GFC_FCOARRAY_LIB && sym->attr.codimension)
        gfc_conv_descriptor_token_set (block, descr, null_pointer_node);
-
-      gcc_assert (sym->as && sym->as->rank>=0);
-      tree etype = gfc_get_element_type (TREE_TYPE (descr));
-      gfc_conv_descriptor_dtype_set (block, descr,
-                                    gfc_get_dtype_rank_type (sym->as->rank,
-                                                             etype));
     }
+
+  tree etype;
+
+  gcc_assert (sym->as && sym->as->rank>=0);
+  etype = gfc_get_element_type (TREE_TYPE (descr));
+  gfc_conv_descriptor_dtype_set (block, descr,
+                                gfc_get_dtype_rank_type (sym->as->rank,
+                                                         etype));
 }

Reply via email to