https://gcc.gnu.org/g:25845397e7f6cdba66a551645ceff1e04ee5fbc8

commit 25845397e7f6cdba66a551645ceff1e04ee5fbc8
Author: Mikael Morin <mik...@gcc.gnu.org>
Date:   Thu Jul 17 16:41:33 2025 +0200

    Correction gfc_clear_descriptor

Diff:
---
 gcc/fortran/trans-descriptor.cc | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/gcc/fortran/trans-descriptor.cc b/gcc/fortran/trans-descriptor.cc
index f867beb16511..2c9d80ad0156 100644
--- a/gcc/fortran/trans-descriptor.cc
+++ b/gcc/fortran/trans-descriptor.cc
@@ -673,13 +673,15 @@ gfc_get_descriptor_offsets_for_info (const_tree 
desc_type, tree *data_off,
 void
 gfc_clear_descriptor (stmtblock_t *block, gfc_symbol *sym, tree descr)
 {
+  symbol_attribute attr = gfc_symbol_attribute (sym);
+
   /* NULLIFY the data pointer for non-saved allocatables, or for non-saved
      pointers when -fcheck=pointer is specified.  */
-  if (sym->attr.allocatable
-      || (sym->attr.pointer && (gfc_option.rtcheck & GFC_RTCHECK_POINTER)))
+  if (attr.allocatable
+      || (attr.pointer && (gfc_option.rtcheck & GFC_RTCHECK_POINTER)))
     {
       gfc_conv_descriptor_data_set (block, descr, null_pointer_node);
-      if (flag_coarray == GFC_FCOARRAY_LIB && sym->attr.codimension)
+      if (flag_coarray == GFC_FCOARRAY_LIB && attr.codimension)
        gfc_conv_descriptor_token_set (block, descr, null_pointer_node);
     }

Reply via email to