aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-decl.cc
diff options
context:
space:
mode:
authorHarald Anlauf <anlauf@gmx.de>2022-09-21 19:55:30 +0200
committerHarald Anlauf <anlauf@gmx.de>2022-09-22 18:35:07 +0200
commitbc71318a91286b5f00e88f07aab818ac82510692 (patch)
treea7c3e79815d38fabb45eb60f519207205275c9de /gcc/fortran/trans-decl.cc
parent3ad3f53bb3ce8b4d24f370528a5ed0b1ed34b883 (diff)
downloadgcc-bc71318a91286b5f00e88f07aab818ac82510692.zip
gcc-bc71318a91286b5f00e88f07aab818ac82510692.tar.gz
gcc-bc71318a91286b5f00e88f07aab818ac82510692.tar.bz2
Fortran: fix ICE in generate_coarray_sym_init [PR82868]
gcc/fortran/ChangeLog: PR fortran/82868 * trans-decl.cc (generate_coarray_sym_init): Skip symbol if attr.associate_var. gcc/testsuite/ChangeLog: PR fortran/82868 * gfortran.dg/associate_26a.f90: New test.
Diffstat (limited to 'gcc/fortran/trans-decl.cc')
-rw-r--r--gcc/fortran/trans-decl.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fortran/trans-decl.cc b/gcc/fortran/trans-decl.cc
index 908a4c6..5d16d64 100644
--- a/gcc/fortran/trans-decl.cc
+++ b/gcc/fortran/trans-decl.cc
@@ -5529,6 +5529,7 @@ generate_coarray_sym_init (gfc_symbol *sym)
if (sym->attr.dummy || sym->attr.allocatable || !sym->attr.codimension
|| sym->attr.use_assoc || !sym->attr.referenced
+ || sym->attr.associate_var
|| sym->attr.select_type_temporary)
return;