aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/decl.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/decl.c')
-rw-r--r--gcc/fortran/decl.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c
index d6a5633..f52c2f1 100644
--- a/gcc/fortran/decl.c
+++ b/gcc/fortran/decl.c
@@ -4060,8 +4060,8 @@ match_procedure_decl (void)
/* Resolve interface if possible. That way, attr.procedure is only set
if it is declared by a later procedure-declaration-stmt, which is
invalid per C1212. */
- while (proc_if->interface)
- proc_if = proc_if->interface;
+ while (proc_if->ts.interface)
+ proc_if = proc_if->ts.interface;
if (proc_if->generic)
{
@@ -4147,16 +4147,16 @@ got_ts:
/* Set interface. */
if (proc_if != NULL)
{
- sym->interface = proc_if;
+ sym->ts.interface = proc_if;
sym->attr.untyped = 1;
}
else if (current_ts.type != BT_UNKNOWN)
{
- sym->interface = gfc_new_symbol ("", gfc_current_ns);
- sym->interface->ts = current_ts;
- sym->interface->attr.function = 1;
- sym->ts = sym->interface->ts;
- sym->attr.function = sym->interface->attr.function;
+ sym->ts = current_ts;
+ sym->ts.interface = gfc_new_symbol ("", gfc_current_ns);
+ sym->ts.interface->ts = current_ts;
+ sym->ts.interface->attr.function = 1;
+ sym->attr.function = sym->ts.interface->attr.function;
}
if (gfc_match_eos () == MATCH_YES)