diff options
Diffstat (limited to 'gcc/fortran/match.c')
-rw-r--r-- | gcc/fortran/match.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c index 617fb35..41faa53 100644 --- a/gcc/fortran/match.c +++ b/gcc/fortran/match.c @@ -6363,7 +6363,8 @@ select_type_set_tmp (gfc_typespec *ts) sym = tmp->n.sym; gfc_add_type (sym, ts, NULL); - if (selector->ts.type == BT_CLASS && selector->attr.class_ok) + if (selector->ts.type == BT_CLASS && selector->attr.class_ok + && selector->ts.u.derived && CLASS_DATA (selector)) { sym->attr.pointer = CLASS_DATA (selector)->attr.class_pointer; |