http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51218
--- Comment #20 from Harald Anlauf <anlauf at gmx dot de> 2011-11-22 21:56:32
UTC ---
(In reply to comment #17)
> Untested patch:
>
> --- a/gcc/fortran/resolve.c
> +++ b/gcc/fortran/resolve.c
> @@ -3257,6 +3255,7 @@ pure_subroutine (gfc_code *c, gfc_symbol *sym)
> else if (gfc_pure (NULL))
> gfc_error ("Subroutine call to '%s' at %L is not PURE", sym->name,
> &c->loc);
> + gfc_current_ns->proc_name->attr.implicit_pure = 0;
> }
The patch works for the testcase in comment #16.
It did not produce any regressions in my tests.
(It also solves my original problem, which is a nice by-product.)
Thanks,
Harald