diff options
author | Craig Burley <burley@gnu.org> | 1998-03-27 19:30:11 -0500 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-03-27 17:30:11 -0700 |
commit | 14a378ec2a3f473b1c18a16d752b5832996e3663 (patch) | |
tree | e6a690c76eb192fe3d4b2bc56f0f029fa3f4a88e /gcc/f/expr.c | |
parent | adb15a1a687d505db87a22a54daaebef32d83e4c (diff) | |
download | gcc-14a378ec2a3f473b1c18a16d752b5832996e3663.zip gcc-14a378ec2a3f473b1c18a16d752b5832996e3663.tar.gz gcc-14a378ec2a3f473b1c18a16d752b5832996e3663.tar.bz2 |
expr.c (ffeexpr_sym_impdoitem_): Don't blindly reset symbol info after calling ffesymbol_error, to avoid crash.
* expr.c (ffeexpr_sym_impdoitem_): Don't blindly
reset symbol info after calling ffesymbol_error,
to avoid crash.
Another patch from Craig.
From-SVN: r18863
Diffstat (limited to 'gcc/f/expr.c')
-rw-r--r-- | gcc/f/expr.c | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/gcc/f/expr.c b/gcc/f/expr.c index 0459301..9ab9755 100644 --- a/gcc/f/expr.c +++ b/gcc/f/expr.c @@ -16467,19 +16467,22 @@ ffeexpr_sym_impdoitem_ (ffesymbol sp, ffelexToken t) version. */ if (!ffeimplic_establish_symbol (sp)) ffesymbol_error (sp, t); - ffesymbol_set_info (sp, - ffeinfo_new (ffesymbol_basictype (sp), - ffesymbol_kindtype (sp), - ffesymbol_rank (sp), - kind, - where, - ffesymbol_size (sp))); - ffesymbol_set_attrs (sp, na); - ffesymbol_set_state (sp, ns); - ffesymbol_resolve_intrin (sp); - if (!ffesymbol_state_is_specable (ns)) - sp = ffecom_sym_learned (sp); - ffesymbol_signal_unreported (sp); /* For debugging purposes. */ + else + { + ffesymbol_set_info (sp, + ffeinfo_new (ffesymbol_basictype (sp), + ffesymbol_kindtype (sp), + ffesymbol_rank (sp), + kind, + where, + ffesymbol_size (sp))); + ffesymbol_set_attrs (sp, na); + ffesymbol_set_state (sp, ns); + ffesymbol_resolve_intrin (sp); + if (!ffesymbol_state_is_specable (ns)) + sp = ffecom_sym_learned (sp); + ffesymbol_signal_unreported (sp); /* For debugging purposes. */ + } } } |