https://gcc.gnu.org/g:377c3e7188973a89adf85de69bf474d88ab62302
commit 377c3e7188973a89adf85de69bf474d88ab62302 Author: Mikael Morin <[email protected]> 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 7938456462e1..e12d9aa657e4 100644 --- a/gcc/fortran/trans-array.cc +++ b/gcc/fortran/trans-array.cc @@ -625,12 +625,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 20fc5dc22078..a71fb8f07cc9 100644 --- a/gcc/fortran/trans-descriptor.cc +++ b/gcc/fortran/trans-descriptor.cc @@ -802,3 +802,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 d802cb070a42..66320f53a813 100644 --- a/gcc/fortran/trans-descriptor.h +++ b/gcc/fortran/trans-descriptor.h @@ -78,5 +78,6 @@ void gfc_grow_array (stmtblock_t *, tree, tree); 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 */
