aboutsummaryrefslogtreecommitdiff
path: root/gcc/f/expr.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/f/expr.c')
-rw-r--r--gcc/f/expr.c29
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. */
+ }
}
}