From a764c40079a493826a3678174f908941a383644e Mon Sep 17 00:00:00 2001 From: Harald Anlauf Date: Tue, 27 Oct 2020 20:25:23 +0100 Subject: PR fortran/97491 - Wrong restriction for VALUE arguments of pure procedures A dummy argument with the VALUE attribute may be redefined in a PURE or ELEMENTAL procedure. Adjust the associated purity check. gcc/fortran/ChangeLog: * resolve.c (gfc_impure_variable): A dummy argument with the VALUE attribute may be redefined without making a procedure impure. gcc/testsuite/ChangeLog: * gfortran.dg/value_8.f90: New test. --- gcc/fortran/resolve.c | 1 + 1 file changed, 1 insertion(+) (limited to 'gcc/fortran/resolve.c') diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index a210f9a..93b918b 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -16476,6 +16476,7 @@ gfc_impure_variable (gfc_symbol *sym) proc = sym->ns->proc_name; if (sym->attr.dummy + && !sym->attr.value && ((proc->attr.subroutine && sym->attr.intent == INTENT_IN) || proc->attr.function)) return 1; -- cgit v1.1