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

commit dd2b0c7ced68a059d60c8bcf728c312e278eea87
Author: Mikael Morin <[email protected]>
Date:   Sun Sep 20 17:07:12 2026 +0200

    Essai correction régression allocate_with_source_1

Diff:
---
 gcc/fortran/trans-stmt.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/fortran/trans-stmt.cc b/gcc/fortran/trans-stmt.cc
index 93642d9db168..f0067e876f8d 100644
--- a/gcc/fortran/trans-stmt.cc
+++ b/gcc/fortran/trans-stmt.cc
@@ -6797,7 +6797,8 @@ gfc_trans_allocate (gfc_code * code, gfc_omp_namelist 
*omp_allocate)
                                     code->expr3->ts,
                                     false, true,
                                     false, false);
-         if (POINTER_TYPE_P (TREE_TYPE (se.expr)))
+         if (POINTER_TYPE_P (TREE_TYPE (se.expr))
+             && TREE_CODE (TREE_TYPE (TREE_TYPE (se.expr))) != ARRAY_TYPE)
            se.expr = build_fold_indirect_ref_loc (input_location, se.expr);
          temp_obj_created = temp_var_needed = !VAR_P (se.expr);
        }

Reply via email to