aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorFrancois-Xavier Coudert <fxcoudert@gcc.gnu.org>2020-09-07 09:36:29 +0200
committerFrancois-Xavier Coudert <fxcoudert@gcc.gnu.org>2020-09-07 09:37:01 +0200
commita502683de1f036b5f8b4e483bd9f5a45be73382e (patch)
tree24bd70c8b746f641b99d4de532ae232a9e6d7157 /gcc/fortran/resolve.c
parent995bb851ffee659cb86aa24bf36ad5bb5d36da7b (diff)
downloadgcc-a502683de1f036b5f8b4e483bd9f5a45be73382e.zip
gcc-a502683de1f036b5f8b4e483bd9f5a45be73382e.tar.gz
gcc-a502683de1f036b5f8b4e483bd9f5a45be73382e.tar.bz2
fortran: Fix arg types of _gfortran_is_extension_of
gcc/fortran/ChangeLog * resolve.c (resolve_select_type): Provide a formal arg list.
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)