2013-05-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/54189
* resolve.c (check_assumed_size_reference): Check for e->ref.
2013-05-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/54189
* gfortran.dg/assumed_size_1.f90: New.
From-SVN: r199445
+2013-05-30 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54189
+ * resolve.c (check_assumed_size_reference): Check for e->ref.
+
2013-05-30 Tobias Burnus <burnus@net-b.de>
PR fortran/57458
/* FIXME: The comparison "e->ref->u.ar.type == AR_FULL" is wrong.
What should it be? */
- if ((e->ref->u.ar.end[e->ref->u.ar.as->rank - 1] == NULL)
+ if (e->ref && (e->ref->u.ar.end[e->ref->u.ar.as->rank - 1] == NULL)
&& (e->ref->u.ar.as->type == AS_ASSUMED_SIZE)
&& (e->ref->u.ar.type == AR_FULL))
{
+2013-05-30 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54189
+ * gfortran.dg/assumed_size_1.f90: New.
+
2013-05-30 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* gcc.dg/shrink-wrap-alloca.c: New added.
--- /dev/null
+! { dg-do compile }
+!
+! PR 54189: ICE (segfault) with invalid assumed-size dummy
+!
+! Contributed by Tobias Burnus <burnus@gcc.gnu.org>
+
+ implicit none
+ procedure(g), pointer :: x ! { dg-error "must be a dummy argument" }
+ x => g
+
+contains
+
+ function g() ! { dg-error "must be a dummy argument" }
+ integer :: g(*)
+ end function
+
+end