(j3.2006) error in CD 1539-1

Malcolm Cohen malcolm
Mon Apr 21 03:25:20 EDT 2008


On Sun, 20 Apr 2008 21:13:46 +0900, Robert Corbett <Robert.Corbett at sun.com> wrote:
> Paragraph 2 of Section 5.3.9 of CD 1539-1 states
>
>      If an external procedure or dummy procedure is used as
>      an actual argument or is the target of a procedure
>      pointer assignment, it shall be declared to have the
>      EXTERNAL attribute.
>
> Paragraph 4 of Section 12.5.2.9 states
>
>      If an external procedure name or a dummy procedure
>      name is used as an actual argument, its interface
>      shall be explicit or it shall be explicitly declared
>      to have the EXTERNAL attribute.
>
> The statement from Section 5.3.9 is clearly deficient.

What is deficient about it?

The words in 12.5.2.9 are unnecessarily verbose, to the point of being possibly misleading, but they don't contradict 5.3.9.  That is because in order to give an external/dummy an explicit interface you have to give it the EXTERNAL attribute, see F2003 [259:31] and [264:8].

> I suggest rewriting it as
...
> The same defect in present in the Fortran 2003 standard,
> but not in the Fortran 95 standard.

Fortran 95 didn't have procedure pointers, so I don't see the relevance.

Anyway, assuming I understand the problem, the right fix is to simplify 12.5.2.9 not to modify 5.3.9.

Cheers,
-- 
................Malcolm Cohen (malcolm at nag-j.co.jp)




More information about the J3 mailing list