aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorSteven G. Kargl <kargl@gcc.gnu.org>2018-12-19 22:31:25 +0000
committerSteven G. Kargl <kargl@gcc.gnu.org>2018-12-19 22:31:25 +0000
commit7d564142f580373ffd872de47a6a822d7b039252 (patch)
tree0dc3765904f796bf3fe1224a4930774371764558 /gcc/fortran/resolve.c
parent5b0acc312d9f99c9cb9a62cbf1149b35cf238cd3 (diff)
downloadgcc-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.c6
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)