Commit f9235a2b by Thomas Koenig

Do not look at _data component in gfc_dep_resolver.

2019-11-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/91783
	* dependency.c (gfc_dep_resolver): Do not look at _data
	component if present.

2019-11-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/91783
	* gfortran.dg/dependency_56.f90: New test.

From-SVN: r278873
parent 7a4f45d7
2019-11-30 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/91783
* dependency.c (gfc_dep_resolver): Do not look at _data
component if present.
2019-11-28 Jerry DeLisle <jvdelisle@gcc.ngu.org>
PR fortran/90374
......
......@@ -2098,6 +2098,18 @@ gfc_dep_resolver (gfc_ref *lref, gfc_ref *rref, gfc_reverse *reverse,
gfc_dependency this_dep;
bool same_component = false;
/* The refs might come in mixed, one with a _data component and one
without. Look at their next reference in order to avoid an
ICE. */
if (lref && lref->type == REF_COMPONENT && lref->u.c.component
&& strcmp (lref->u.c.component->name, "_data") == 0)
lref = lref->next;
if (rref && rref->type == REF_COMPONENT && rref->u.c.component
&& strcmp (rref->u.c.component->name, "_data") == 0)
rref = rref->next;
this_dep = GFC_DEP_ERROR;
fin_dep = GFC_DEP_ERROR;
/* Dependencies due to pointers should already have been identified.
......
2019-11-30 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/91783
* gfortran.dg/dependency_56.f90: New test.
2019-11-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/91003
......
! { dg-do compile }
! PR 91783 - used to cause an ICE in dependency checking.
! Test case by Gerhard Steinmetz.
program p
class(*), allocatable :: a(:)
a = [1, 2, 3]
a = f(a)
contains
function f(x) result(y)
class(*), allocatable, intent(in) :: x(:)
class(*), allocatable :: y(:)
y = x
end
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment