[gcc(refs/users/mikael/heads/refactor_descriptor_v07)] Suppression gfc_conv_descriptor_data_addr
Mikael Morin
mikael@gcc.gnu.org
Mon Jun 30 17:48:26 GMT 2025
https://gcc.gnu.org/g:ea90328dc8df1da7d4893b9ced63b0e9e8583f0e
commit ea90328dc8df1da7d4893b9ced63b0e9e8583f0e
Author: Mikael Morin <mikael@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);
More information about the Gcc-cvs
mailing list