https://gcc.gnu.org/g:715fbf1b03c3ff744e6d2eb20bdf1589b2d648d0
commit 715fbf1b03c3ff744e6d2eb20bdf1589b2d648d0 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 4cb21a42c1a8..d79cc8ea3a40 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 57570145118d..26fd6ba4fcf8 100644 --- a/gcc/fortran/trans-descriptor.cc +++ b/gcc/fortran/trans-descriptor.cc @@ -708,6 +708,14 @@ gfc_init_descriptor_result (stmtblock_t *block, tree descr) } +void +gfc_init_static_descriptor (tree descr) +{ + tree type = TREE_TYPE (descr); + DECL_INITIAL (descr) = gfc_build_null_descriptor (type); +} + + tree gfc_build_default_class_descriptor (const gfc_typespec &ts, tree class_type) { diff --git a/gcc/fortran/trans-descriptor.h b/gcc/fortran/trans-descriptor.h index f5b5e59f1cfe..f28565d783ee 100644 --- a/gcc/fortran/trans-descriptor.h +++ b/gcc/fortran/trans-descriptor.h @@ -96,5 +96,6 @@ gfc_get_descriptor_offsets_for_info (const_tree desc_type, tree *data_off, void gfc_init_descriptor_variable (stmtblock_t *block, gfc_symbol *sym, tree descr); void gfc_init_descriptor_result (stmtblock_t *block, tree descr); +void gfc_init_static_descriptor (tree descr); #endif /* GFC_TRANS_DESCRIPTOR_H */