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); }
