diff options
author | Steven G. Kargl <kargl@gcc.gnu.org> | 2018-12-19 22:31:25 +0000 |
---|---|---|
committer | Steven G. Kargl <kargl@gcc.gnu.org> | 2018-12-19 22:31:25 +0000 |
commit | 7d564142f580373ffd872de47a6a822d7b039252 (patch) | |
tree | 0dc3765904f796bf3fe1224a4930774371764558 /gcc/fortran/resolve.c | |
parent | 5b0acc312d9f99c9cb9a62cbf1149b35cf238cd3 (diff) | |
download | gcc-7d564142f580373ffd872de47a6a822d7b039252.zip gcc-7d564142f580373ffd872de47a6a822d7b039252.tar.gz gcc-7d564142f580373ffd872de47a6a822d7b039252.tar.bz2 |
re PR fortran/87992 (ICE in resolve_fl_variable, at fortran/resolve.c:12314)
2018-12-19 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/87992
* resolve.c (resolve_fl_variable): Avoid a NULL pointer.
2018-12-19 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/87992
* gfortran.dg/pr87992.f90: New test.
From-SVN: r267288
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index fedf60a..9ce01c7 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -12310,7 +12310,11 @@ resolve_fl_variable (gfc_symbol *sym, int mp_flag) { /* Make sure that character string variables with assumed length are dummy arguments. */ - e = sym->ts.u.cl->length; + if (sym->ts.u.cl) + e = sym->ts.u.cl->length; + else + return false; + if (e == NULL && !sym->attr.dummy && !sym->attr.result && !sym->ts.deferred && !sym->attr.select_type_temporary && !sym->attr.omp_udr_artificial_var) |