Commit e6e3aa01 by Steven G. Kargl

re PR fortran/91727 (ICE in conformable_arrays, at fortran/resolve.c:7490)

2019-09-15  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/91727
	* resolve.c (conformable_arrays):  If array-spec is NULL, then
	allocate-object is a scalar.  a conformability check only occurs
	for an array source-expr.

2019-09-15  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/91727
	* gfortran.dg/pr91727.f90: New test.

From-SVN: r275731
parent 204a3763
2019-09-15 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/91727
* resolve.c (conformable_arrays): If array-spec is NULL, then
allocate-object is a scalar. a conformability check only occurs
for an array source-expr.
2019-09-15 Thomas Koenig <tkoenig@gcc.gnu.org> 2019-09-15 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/91550 PR fortran/91550
......
...@@ -7485,7 +7485,7 @@ conformable_arrays (gfc_expr *e1, gfc_expr *e2) ...@@ -7485,7 +7485,7 @@ conformable_arrays (gfc_expr *e1, gfc_expr *e2)
for (tail = e2->ref; tail && tail->next; tail = tail->next); for (tail = e2->ref; tail && tail->next; tail = tail->next);
/* First compare rank. */ /* First compare rank. */
if ((tail && e1->rank != tail->u.ar.as->rank) if ((tail && (!tail->u.ar.as || e1->rank != tail->u.ar.as->rank))
|| (!tail && e1->rank != e2->rank)) || (!tail && e1->rank != e2->rank))
{ {
gfc_error ("Source-expr at %L must be scalar or have the " gfc_error ("Source-expr at %L must be scalar or have the "
......
2019-09-15 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/91727
* gfortran.dg/pr91727.f90: New test.
2019-09-15 Thomas Koenig <tkoenig@gcc.gnu.org> 2019-09-15 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/91550 PR fortran/91550
......
! { dg-do compile }
! Code contributed by Gerhard Steinmetz.
program p
type t
class(*), allocatable :: a
end type
type(t) :: x
allocate (x%a, source=[1]) ! { dg-error "have the same rank as" }
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