https://gcc.gnu.org/g:93ae6f211444a5cfe8ab3a968dd2e39b4b14301b

commit 93ae6f211444a5cfe8ab3a968dd2e39b4b14301b
Author: Mikael Morin <[email protected]>
Date:   Mon Oct 6 21:47:27 2025 +0200

    Correction régression dependency_48.f90

Diff:
---
 gcc/fortran/trans-decl.cc | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/gcc/fortran/trans-decl.cc b/gcc/fortran/trans-decl.cc
index 53e3ac284a43..ee156260a517 100644
--- a/gcc/fortran/trans-decl.cc
+++ b/gcc/fortran/trans-decl.cc
@@ -1317,13 +1317,14 @@ gfc_build_dummy_array_decl (gfc_symbol * sym, tree 
dummy)
     {
       bool bytes_strides_p = GFC_BYTES_STRIDES_ARRAY_TYPE_P (type);
 
-      if ((sym->attr.result
-          || (sym->attr.function && sym == sym->result))
-         && gfc_return_by_reference (sym))
+      if (flag_repack_arrays && !sym->attr.target)
+       packed = PACKED_FULL;
+      else if ((sym->attr.result
+               || (sym->attr.function && sym == sym->result))
+              && gfc_return_by_reference (sym))
        packed = PACKED_NO;
       else if (as->type == AS_ASSUMED_SIZE
-              || as->type == AS_EXPLICIT
-              || (flag_repack_arrays && !sym->attr.target))
+              || as->type == AS_EXPLICIT)
        packed = PACKED_FULL;
       else
        packed = PACKED_NO;

Reply via email to