aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorHarald Anlauf <anlauf@gmx.de>2020-06-27 14:56:33 +0200
committerHarald Anlauf <anlauf@gmx.de>2020-06-27 14:57:28 +0200
commit3cbc0fb39c84ae0a51a9a88649dccd105bf17d6e (patch)
tree71173edd7df0127465dcec352cf76c90cbf1e446 /gcc/fortran/resolve.c
parentfc36b97af05ef74b0889ba49090c2f52f00e0e77 (diff)
downloadgcc-3cbc0fb39c84ae0a51a9a88649dccd105bf17d6e.zip
gcc-3cbc0fb39c84ae0a51a9a88649dccd105bf17d6e.tar.gz
gcc-3cbc0fb39c84ae0a51a9a88649dccd105bf17d6e.tar.bz2
PR fortran/95881 - ICE in resolve_symbol, at fortran/resolve.c:15175
Avoid NULL pointer dereference. gcc/fortran/ PR fortran/95881 * resolve.c (resolve_symbol): Avoid NULL pointer dereference.
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r--gcc/fortran/resolve.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 6fa34ca..f3e8ffc 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -15170,6 +15170,7 @@ resolve_symbol (gfc_symbol *sym)
if (flag_coarray == GFC_FCOARRAY_LIB && sym->ts.type == BT_CLASS
&& sym->ts.u.derived && CLASS_DATA (sym)
&& CLASS_DATA (sym)->attr.codimension
+ && CLASS_DATA (sym)->ts.u.derived
&& (CLASS_DATA (sym)->ts.u.derived->attr.alloc_comp
|| CLASS_DATA (sym)->ts.u.derived->attr.pointer_comp))
{