https://gcc.gnu.org/g:6204b74e4bfb3faf0fab57e36e37e3eb0f612536
commit 6204b74e4bfb3faf0fab57e36e37e3eb0f612536 Author: Mikael Morin <mik...@gcc.gnu.org> Date: Sun Jul 6 12:01:58 2025 +0200 Revert "Correction régression alloc_comp_assign_12 etc" This reverts commit 34172991fe82d72d686711edfaa25ed9c811097d. Diff: --- gcc/fortran/trans-array.cc | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc index 355253a0b470..6af8ee0a9544 100644 --- a/gcc/fortran/trans-array.cc +++ b/gcc/fortran/trans-array.cc @@ -3441,24 +3441,6 @@ gfc_conv_ss_descriptor (stmtblock_t * block, gfc_ss * ss, int base) gfc_conv_expr_lhs (&se, ss_info->expr); gfc_add_block_to_block (block, &se.pre); info->descriptor = se.expr; - if (TREE_CODE (info->descriptor) == INDIRECT_REF) - { - tree ptr = TREE_OPERAND (info->descriptor, 0); - ptr = gfc_evaluate_now (ptr, block); - TREE_OPERAND (info->descriptor, 0) = ptr; - } - else if (TREE_CODE (info->descriptor) == COMPONENT_REF) - { - tree parent_ref = TREE_OPERAND (info->descriptor, 0); - tree parent_ptr_type = build_pointer_type (TREE_TYPE (parent_ref)); - tree ptr = fold_build1_loc (input_location, ADDR_EXPR, - parent_ptr_type, parent_ref); - ptr = gfc_evaluate_now (ptr, block); - tree deref = fold_build1_loc (input_location, INDIRECT_REF, - TREE_TYPE (parent_ref), - ptr); - TREE_OPERAND (info->descriptor, 0) = deref; - } ss_info->string_length = se.string_length; ss_info->class_container = se.class_container;