https://gcc.gnu.org/g:ea90328dc8df1da7d4893b9ced63b0e9e8583f0e

commit ea90328dc8df1da7d4893b9ced63b0e9e8583f0e
Author: Mikael Morin <mik...@gcc.gnu.org>
Date:   Sat Jun 28 22:02:40 2025 +0200

    Suppression gfc_conv_descriptor_data_addr

Diff:
---
 gcc/fortran/trans-decl.cc       |  5 ++---
 gcc/fortran/trans-descriptor.cc | 10 ----------
 gcc/fortran/trans-descriptor.h  |  1 -
 3 files changed, 2 insertions(+), 14 deletions(-)

diff --git a/gcc/fortran/trans-decl.cc b/gcc/fortran/trans-decl.cc
index bbee31c23ffb..b6374abd1599 100644
--- a/gcc/fortran/trans-decl.cc
+++ b/gcc/fortran/trans-decl.cc
@@ -5135,8 +5135,7 @@ gfc_trans_deferred_vars (gfc_symbol * proc_sym, 
gfc_wrapped_block * block)
                      se.descriptor_only = 1;
                      gfc_conv_expr (&se, e);
                      descriptor = se.expr;
-                     se.expr = gfc_conv_descriptor_data_addr (se.expr);
-                     se.expr = build_fold_indirect_ref_loc (input_location, 
se.expr);
+                     se.expr = gfc_conv_descriptor_data_get (se.expr);
                    }
                  gfc_free_expr (e);
 
@@ -5340,7 +5339,7 @@ gfc_trans_deferred_vars (gfc_symbol * proc_sym, 
gfc_wrapped_block * block)
        continue;
       /* 'omp allocate( {purpose: allocator, value: align},
                        {purpose: init-stmtlist, value: cleanup-stmtlist},
-                       {purpose: size-var, value: last-size-expr}}
+                       {purpose: size-var, value: last-size-expr} )
          where init-stmt/cleanup-stmt is the STATEMENT list to find the
          try-final block; last-size-expr is to find the location after
          which to add the code and 'size-var' is for the proper size, cf.
diff --git a/gcc/fortran/trans-descriptor.cc b/gcc/fortran/trans-descriptor.cc
index bf7e24f77f26..65b43ee59ea4 100644
--- a/gcc/fortran/trans-descriptor.cc
+++ b/gcc/fortran/trans-descriptor.cc
@@ -214,16 +214,6 @@ gfc_conv_descriptor_data_set (stmtblock_t *block, tree 
desc, tree value)
 }
 
 
-/* This provides address access to the data field.  This should only be
-   used by array allocation, passing this on to the runtime.  */
-
-tree
-gfc_conv_descriptor_data_addr (tree desc)
-{
-  tree field = gfc_get_descriptor_field (desc, DATA_FIELD);
-  return gfc_build_addr_expr (NULL_TREE, field);
-}
-
 static tree
 get_descriptor_offset (tree desc)
 {
diff --git a/gcc/fortran/trans-descriptor.h b/gcc/fortran/trans-descriptor.h
index bdf02e0096ea..bd17073c6308 100644
--- a/gcc/fortran/trans-descriptor.h
+++ b/gcc/fortran/trans-descriptor.h
@@ -29,7 +29,6 @@ tree gfc_get_cfi_dim_extent (tree desc, tree idx);
 tree gfc_get_cfi_dim_sm (tree desc, tree idx);
 
 
-tree gfc_conv_descriptor_data_addr (tree desc);
 tree gfc_conv_descriptor_dtype (tree desc);
 tree gfc_conv_descriptor_rank (tree desc);
 tree gfc_conv_descriptor_version (tree desc);

Reply via email to