[gcc(refs/users/mikael/heads/refactor_descriptor_v291.01)] Extraction fonction gfc_nullify_descriptor
Mikael Morin via Gcc-cvs <[email protected]>
| Newsgroups | gmane.comp.gcc.cvs |
|---|---|
| Message-ID | <[email protected]> |
https://gcc.gnu.org/g:d5c3b29999db4d500127d9094515e0f6e35e08ca commit d5c3b29999db4d500127d9094515e0f6e35e08ca 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 5a92cbba4da1..96e81a7f9883 100644 --- a/gcc/fortran/trans-descriptor.cc +++ b/gcc/fortran/trans-descriptor.cc @@ -876,3 +876,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 7a206e2a4b21..47b78a43198a 100644 --- a/gcc/fortran/trans-descriptor.h +++ b/gcc/fortran/trans-descriptor.h @@ -73,4 +73,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 1083ea3fbbd2..a304770e791d 100644 --- a/gcc/fortran/trans-expr.cc +++ b/gcc/fortran/trans-expr.cc @@ -11367,7 +11367,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) {