https://gcc.gnu.org/g:02dc3ec4ace5daed3a32303473050e1af6743ab1
commit 02dc3ec4ace5daed3a32303473050e1af6743ab1 Author: Mikael Morin <[email protected]> Date: Wed Jul 16 16:49:28 2025 +0200 Extraction fonction gfc_nullify_descriptor Diff: --- gcc/fortran/trans-descriptor.cc | 7 +++++++ gcc/fortran/trans-descriptor.h | 3 +++ gcc/fortran/trans-expr.cc | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gcc/fortran/trans-descriptor.cc b/gcc/fortran/trans-descriptor.cc index a43553b2e4de..cab0c62fde3d 100644 --- a/gcc/fortran/trans-descriptor.cc +++ b/gcc/fortran/trans-descriptor.cc @@ -781,3 +781,10 @@ gfc_grow_array (stmtblock_t * pblock, tree desc, tree extra) tmp = gfc_call_realloc (pblock, arg0, arg1); gfc_conv_descriptor_data_set (pblock, desc, tmp); } + + +void +gfc_nullify_descriptor (stmtblock_t *block, tree descr) +{ + gfc_conv_descriptor_data_set (block, descr, null_pointer_node); +} diff --git a/gcc/fortran/trans-descriptor.h b/gcc/fortran/trans-descriptor.h index 9982fa446a3b..717b1a28f677 100644 --- a/gcc/fortran/trans-descriptor.h +++ b/gcc/fortran/trans-descriptor.h @@ -74,4 +74,7 @@ void gfc_copy_descriptor (stmtblock_t *, tree, tree, int); void gfc_grow_array (stmtblock_t *, tree, tree); +/* Build a null array descriptor constructor. */ +void gfc_nullify_descriptor (stmtblock_t *block, tree); + #endif /* GFC_TRANS_DESCRIPTOR_H */ diff --git a/gcc/fortran/trans-expr.cc b/gcc/fortran/trans-expr.cc index c22e9dbcad38..df5300faa30c 100644 --- a/gcc/fortran/trans-expr.cc +++ b/gcc/fortran/trans-expr.cc @@ -11173,7 +11173,7 @@ gfc_trans_pointer_assignment (gfc_expr * expr1, gfc_expr * expr2) if (expr2->expr_type == EXPR_NULL) { /* Just set the data pointer to null. */ - gfc_conv_descriptor_data_set (&lse.pre, lse.expr, null_pointer_node); + gfc_nullify_descriptor (&lse.pre, lse.expr); } else if (rank_remap) {
