http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42418
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2011.01.09 18:55:46
Ever Confirmed|0 |1
--- Comment #3 from janus at gcc dot gnu.org 2011-01-09 18:55:46 UTC ---
(In reply to comment #0)
> gfortran rejects the following program where "gen" is both a generic and a
> specific procedure name as interface argument to PROCEDURE. I cannot find a
> reason why it should be invalid and thus I think it is valid.
>
>
> procedure(gen) :: f
> 1
> Error: Interface 'gen' at (1) may not be generic
The behavior in comment #0 I can confirm. And I agree that it is valid. Chapter
16.3.1 of F08 says:
"Within its scope, a local identifier of one class shall not be the same as
another local identifier of the same class, except that a generic name may be
the same as the name of a procedure as explained in 12.4.3.4 [...]"
In 12.4.3.4.1 we find:
"A generic name is a generic identifier that refers to all of the procedure
names in the interface block. A generic name may be the same as any one of the
procedure names in the interface block, or the same as any accessible generic
name."