[gcc r11-3023] fortran: Fix arg types of _gfortran_is_extension_of

Franथईois-Xavier Coudert fxcoudert@gcc.gnu.org
Mon Sep 7 07:37:26 GMT 2020


https://gcc.gnu.org/g:a502683de1f036b5f8b4e483bd9f5a45be73382e

commit r11-3023-ga502683de1f036b5f8b4e483bd9f5a45be73382e
Author: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Date:   Mon Sep 7 09:36:29 2020 +0200

    fortran: Fix arg types of _gfortran_is_extension_of
    
    gcc/fortran/ChangeLog
    
            * resolve.c (resolve_select_type): Provide a formal arg list.

Diff:
---
 gcc/fortran/resolve.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index e4232717e42..fc2431b8aad 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)


More information about the Gcc-cvs mailing list