aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.cc
diff options
context:
space:
mode:
authorPaul Thomas <pault@gcc.gnu.org>2023-03-21 06:22:37 +0000
committerPaul Thomas <pault@gcc.gnu.org>2023-03-21 06:22:37 +0000
commit3a9caf7883103bc3a80dfc9e4797bb849b3c211c (patch)
treef03539e063a8462281667b45c5242e6783933291 /gcc/fortran/resolve.cc
parent76dda10584011fa8156d13cb24b3649f1765b68f (diff)
downloadgcc-3a9caf7883103bc3a80dfc9e4797bb849b3c211c.zip
gcc-3a9caf7883103bc3a80dfc9e4797bb849b3c211c.tar.gz
gcc-3a9caf7883103bc3a80dfc9e4797bb849b3c211c.tar.bz2
Fortran: Fix regression caused by PR37336 patch [PR109209]
2023-03-21 Paul Thomas <pault@gcc.gnu.org> gcc/fortran PR fortran/109209 * resolve.cc (generate_component_assignments): Restore the exclusion of allocatable components from the loop. gcc/testsuite/ PR fortran/109209 * gfortran.dg/pr109209.f90: New test.
Diffstat (limited to 'gcc/fortran/resolve.cc')
-rw-r--r--gcc/fortran/resolve.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fortran/resolve.cc b/gcc/fortran/resolve.cc
index 1d973d1..1a03e45 100644
--- a/gcc/fortran/resolve.cc
+++ b/gcc/fortran/resolve.cc
@@ -11760,6 +11760,7 @@ generate_component_assignments (gfc_code **code, gfc_namespace *ns)
of all kinds and allocatable components. */
if (!gfc_bt_struct (comp1->ts.type)
|| comp1->attr.pointer
+ || comp1->attr.allocatable
|| comp1->attr.proc_pointer_comp
|| comp1->attr.class_pointer
|| comp1->attr.proc_pointer)