https://gcc.gnu.org/g:3295342af2d415afe4a942daf0308d14eeb080ba
commit 3295342af2d415afe4a942daf0308d14eeb080ba Author: Mikael Morin <mik...@gcc.gnu.org> Date: Tue Jul 15 21:06:28 2025 +0200 Extraction gfc_init_static_descriptor Correction compilation Renommage gfc_clear_descriptor -> gfc_init_static_descriptor Diff: --- gcc/fortran/trans-array.cc | 6 +----- gcc/fortran/trans-descriptor.cc | 8 ++++++++ gcc/fortran/trans-descriptor.h | 1 + 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc index e03f4d08a9a9..048a9e661d25 100644 --- a/gcc/fortran/trans-array.cc +++ b/gcc/fortran/trans-array.cc @@ -555,12 +555,8 @@ gfc_get_array_span (tree desc, gfc_expr *expr) void gfc_trans_static_array_pointer (gfc_symbol * sym) { - tree type; - gcc_assert (TREE_STATIC (sym->backend_decl)); - /* Just zero the data member. */ - type = TREE_TYPE (sym->backend_decl); - DECL_INITIAL (sym->backend_decl) = gfc_build_null_descriptor (type); + gfc_init_static_descriptor (sym->backend_decl); } diff --git a/gcc/fortran/trans-descriptor.cc b/gcc/fortran/trans-descriptor.cc index 1a15d225fb17..422e8544397d 100644 --- a/gcc/fortran/trans-descriptor.cc +++ b/gcc/fortran/trans-descriptor.cc @@ -707,3 +707,11 @@ gfc_init_absent_descriptor (stmtblock_t *block, tree descr) { gfc_conv_descriptor_data_set (block, descr, null_pointer_node); } + + +void +gfc_init_static_descriptor (tree descr) +{ + tree type = TREE_TYPE (descr); + DECL_INITIAL (descr) = gfc_build_null_descriptor (type); +} diff --git a/gcc/fortran/trans-descriptor.h b/gcc/fortran/trans-descriptor.h index a75212fba3cf..eb48ae2a8935 100644 --- a/gcc/fortran/trans-descriptor.h +++ b/gcc/fortran/trans-descriptor.h @@ -97,5 +97,6 @@ gfc_get_descriptor_offsets_for_info (const_tree desc_type, tree *data_off, void gfc_nullify_descriptor (stmtblock_t *block, tree); void gfc_init_descriptor_result (stmtblock_t *block, tree descr); void gfc_init_absent_descriptor (stmtblock_t *block, tree descr); +void gfc_init_static_descriptor (tree descr); #endif /* GFC_TRANS_DESCRIPTOR_H */