https://gcc.gnu.org/g:a3807c37fbb9a2e36da29442aff71bcf6bf13a84
commit a3807c37fbb9a2e36da29442aff71bcf6bf13a84 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 8e4a347d1186..2b123d470c88 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 684b81143b17..f5efdf2782af 100644 --- a/gcc/fortran/trans-descriptor.cc +++ b/gcc/fortran/trans-descriptor.cc @@ -683,3 +683,11 @@ gfc_init_descriptor_variable (stmtblock_t *block, gfc_symbol *sym, tree descr) etype)); } + +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 4099c9805890..1bbfd4111602 100644 --- a/gcc/fortran/trans-descriptor.h +++ b/gcc/fortran/trans-descriptor.h @@ -96,5 +96,6 @@ void gfc_init_absent_descriptor (stmtblock_t *block, tree descr); void gfc_nullify_descriptor (stmtblock_t *block, tree); void gfc_init_descriptor_variable (stmtblock_t *block, gfc_symbol *sym, tree descr); +void gfc_init_static_descriptor (tree descr); #endif /* GFC_TRANS_DESCRIPTOR_H */