https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84276

--- Comment #10 from mecej4 <mecej4 at outlook dot com> ---
(In reply to Steve Kargl from comment #9)
> On Fri, Feb 09, 2018 at 01:52:03PM +0000, mecej4 at outlook dot com wrote:
> > (In reply to Steve Kargl from comment #7)
> > > ...
> > >       w = qofs(i = i, s = hh)
> > > ...
> > 
> > Keyword argument lists are not allowed for statement functions, are they? I
> > realize that the compiler will have to detect and flag attempts to use 
> > keyword
> > arguments as disallowed, but no code generation is needed.
> > 
> 
> I cannot find a prohibition in F2018 standard.
> AFAICT, gfortran always supported keywords, and
> I've developed a patch to retain that behavior.

I cannot find an explicit prohibition, either, but please consider these
related statements from F2003:

    Section 12.3.1: ..."The interface of a statement function is always
implicit".

    Section 12.3.1.1: ..."A procedure other than a statement function shall
have an explicit interface if it is referenced and a reference to the procedure
appears with an argument keyword"

That still leaves the prohibition unstated. However, I find the following in
the Fortran 2003 Handbook (Adams et al), p. 451:

14. A statement function is referenced in the same manner as any other
function, except that because statement function interfaces are implicit, the
keyword form of actual arguments is not allowed; the argument association rules
are the same.

Reply via email to