[gcc(refs/users/mikael/heads/refactor_descriptor_v08)] Refactor get_descr_dim_comp
Mikael Morin
mikael@gcc.gnu.org
Mon Sep 15 13:51:32 GMT 2025
https://gcc.gnu.org/g:8fda392ae9a8d7f9fb730ec6bf6f4de6511267bb
commit 8fda392ae9a8d7f9fb730ec6bf6f4de6511267bb
Author: Mikael Morin <mikael@gcc.gnu.org>
Date: Wed Aug 6 14:41:41 2025 +0200
Refactor get_descr_dim_comp
Diff:
---
gcc/fortran/trans-descriptor.cc | 17 ++++++-----------
1 file changed, 6 insertions(+), 11 deletions(-)
diff --git a/gcc/fortran/trans-descriptor.cc b/gcc/fortran/trans-descriptor.cc
index e7853880a232..5ebd3a10a868 100644
--- a/gcc/fortran/trans-descriptor.cc
+++ b/gcc/fortran/trans-descriptor.cc
@@ -512,18 +512,17 @@ gfc_conv_descriptor_token_set (stmtblock_t *block, tree desc, tree value)
static tree
-gfc_conv_descriptor_subfield (tree desc, tree dim, unsigned field_idx)
+get_descr_dim_comp (tree desc, tree dim, unsigned field_idx,
+ tree type = NULL_TREE)
{
tree tmp = get_descriptor_dimension (desc, dim);
- return get_ref_comp (tmp, field_idx);
+ return get_ref_comp (tmp, field_idx, type);
}
static tree
get_descriptor_stride (tree desc, tree dim)
{
- tree field = gfc_conv_descriptor_subfield (desc, dim, STRIDE_SUBFIELD);
- gcc_assert (TREE_TYPE (field) == gfc_array_index_type);
- return field;
+ return get_descr_dim_comp (desc, dim, STRIDE_SUBFIELD, gfc_array_index_type);
}
tree
@@ -554,9 +553,7 @@ gfc_conv_descriptor_stride_set (stmtblock_t *block, tree desc,
static tree
get_descriptor_lbound (tree desc, tree dim)
{
- tree field = gfc_conv_descriptor_subfield (desc, dim, LBOUND_SUBFIELD);
- gcc_assert (TREE_TYPE (field) == gfc_array_index_type);
- return field;
+ return get_descr_dim_comp (desc, dim, LBOUND_SUBFIELD, gfc_array_index_type);
}
tree
@@ -576,9 +573,7 @@ gfc_conv_descriptor_lbound_set (stmtblock_t *block, tree desc,
static tree
get_descriptor_ubound (tree desc, tree dim)
{
- tree field = gfc_conv_descriptor_subfield (desc, dim, UBOUND_SUBFIELD);
- gcc_assert (TREE_TYPE (field) == gfc_array_index_type);
- return field;
+ return get_descr_dim_comp (desc, dim, UBOUND_SUBFIELD, gfc_array_index_type);
}
tree
More information about the Gcc-cvs
mailing list