https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87233
Jerry DeLisle <jvdelisle at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jvdelisle at gcc dot gnu.org
--- Comment #1 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> ---
The check is easy enough to delete:
diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c
index c5bf822cd24..a8e6dd389b0 100644
--- a/gcc/fortran/expr.c
+++ b/gcc/fortran/expr.c
@@ -3073,19 +3073,6 @@ check_restricted (gfc_expr *e)
sym = e->symtree->n.sym;
t = false;
- /* If a dummy argument appears in a context that is valid for a
- restricted expression in an elemental procedure, it will have
- already been simplified away once we get here. Therefore we
- don't need to jump through hoops to distinguish valid from
- invalid cases. */
- if (sym->attr.dummy && sym->ns == gfc_current_ns
- && sym->ns->proc_name && sym->ns->proc_name->attr.elemental)
- {
- gfc_error ("Dummy argument %qs not allowed in expression at %L",
- sym->name, &e->where);
- break;
- }
-
if (sym->attr.optional)
{
gfc_error ("Dummy argument %qs at %L cannot be OPTIONAL",