diff options
author | Steven G. Kargl <kargl@gcc.gnu.org> | 2018-12-08 18:09:05 +0000 |
---|---|---|
committer | Steven G. Kargl <kargl@gcc.gnu.org> | 2018-12-08 18:09:05 +0000 |
commit | 4874b4d26c3ae78b69a51ab490bfba65d69e1323 (patch) | |
tree | 814a62bcd329a87fae9e3dad0f0e310a5bbba28b /gcc/fortran/resolve.c | |
parent | 47e1596cc1e877485483de1eca7b3eb4bd049cfb (diff) | |
download | gcc-4874b4d26c3ae78b69a51ab490bfba65d69e1323.zip gcc-4874b4d26c3ae78b69a51ab490bfba65d69e1323.tar.gz gcc-4874b4d26c3ae78b69a51ab490bfba65d69e1323.tar.bz2 |
re PR fortran/88357 (ICE in parse_associate, at fortran/parse.c:4568)
2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/88357
* class.c (insert_component_ref): Check for NULL pointer and
previous error message issued.
* parse.c (parse_associate): Check for NULL pointer.
* resolve.c (resolve_assoc_var): Check for NULL pointer.
2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.dg/pr88357_1.f90: New test.
* gfortran.dg/pr88357_2.f90: New test.
From-SVN: r266908
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index b209021..35352c6 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -8715,7 +8715,8 @@ resolve_assoc_var (gfc_symbol* sym, bool resolve_target) { /* target's rank is 0, but the type of the sym is still array valued, which has to be corrected. */ - if (sym->ts.type == BT_CLASS && CLASS_DATA (sym)->as) + if (sym->ts.type == BT_CLASS + && CLASS_DATA (sym) && CLASS_DATA (sym)->as) { gfc_array_spec *as; symbol_attribute attr; |