aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2013-05-30 12:19:16 +0200
committerJanus Weil <janus@gcc.gnu.org>2013-05-30 12:19:16 +0200
commit582f2176b5abe7512e514d31c1770def11cb8e38 (patch)
treee72b08bb1210dc085bbc1237493960ebf6a54e31 /gcc/fortran/resolve.c
parent0b871ccfce4a95d2d6c8849e0c69a0172fd7ea07 (diff)
downloadgcc-582f2176b5abe7512e514d31c1770def11cb8e38.zip
gcc-582f2176b5abe7512e514d31c1770def11cb8e38.tar.gz
gcc-582f2176b5abe7512e514d31c1770def11cb8e38.tar.bz2
re PR fortran/54189 (ICE (segfault) with invalid assumed-size dummy)
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
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r--gcc/fortran/resolve.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 4cfc858..b2e8fdc 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -1459,7 +1459,7 @@ check_assumed_size_reference (gfc_symbol *sym, gfc_expr *e)
/* 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))
{