aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/dependency.c
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2020-06-23 08:14:51 +0200
committerGiuliano Belinassi <giuliano.belinassi@usp.br>2020-08-17 13:14:33 -0300
commit80aee062534f05094bde668fb742c2317530152c (patch)
treedf681128ed20cfd79d67830afbfaff014bdf3af3 /gcc/fortran/dependency.c
parentca9275d8ab02436b45f25f155c510210f07fccb5 (diff)
downloadgcc-80aee062534f05094bde668fb742c2317530152c.zip
gcc-80aee062534f05094bde668fb742c2317530152c.tar.gz
gcc-80aee062534f05094bde668fb742c2317530152c.tar.bz2
Handle AR_FULL vs. AR_FULL in dependency checking.
Previously, handling of full vs. full references failed to take AR_FULL vs. AR_FULL into account. A change in dependency checking in gcc 10 created a code path that could lead there; with this patch, this is now correctly handled. gcc/fortran/ChangeLog: 2020-06-23 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/95812 * dependency.c (ref_same_as_full_array): Handle case of AR_FULL vs. AR_FULL. gcc/testsuite/ChangeLog: 2020-06-23 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/95812 * gfortran.dg/dependency_59.f90: New test.
Diffstat (limited to 'gcc/fortran/dependency.c')
-rw-r--r--gcc/fortran/dependency.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/fortran/dependency.c b/gcc/fortran/dependency.c
index f6c6840..7edd5d9 100644
--- a/gcc/fortran/dependency.c
+++ b/gcc/fortran/dependency.c
@@ -2033,6 +2033,8 @@ ref_same_as_full_array (gfc_ref *full_ref, gfc_ref *ref)
return false;
if (ref->type != REF_ARRAY)
return false;
+ if (ref->u.ar.type == AR_FULL)
+ return true;
if (ref->u.ar.type != AR_SECTION)
return false;