aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r--gcc/fortran/resolve.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index e423271..fc2431b 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -9637,6 +9637,12 @@ resolve_select_type (gfc_code *code, gfc_namespace *old_ns)
new_st->expr1->value.function.actual->next = gfc_get_actual_arglist ();
new_st->expr1->value.function.actual->next->expr = gfc_get_variable_expr (st);
new_st->expr1->value.function.actual->next->expr->where = code->loc;
+ /* Set up types in formal arg list. */
+ new_st->expr1->value.function.isym->formal = XCNEW (gfc_intrinsic_arg);
+ new_st->expr1->value.function.isym->formal->ts = new_st->expr1->value.function.actual->expr->ts;
+ new_st->expr1->value.function.isym->formal->next = XCNEW (gfc_intrinsic_arg);
+ new_st->expr1->value.function.isym->formal->next->ts = new_st->expr1->value.function.actual->next->expr->ts;
+
new_st->next = body->next;
}
if (default_case->next)