(j3.2006) implicit none ordering
Thu Nov 12 02:23:09 EST 2015
We have a constraint
? C590 (R563) If IMPLICIT NONE is specified in a scoping unit, it shall
precede any PARAMETER statements that appear in the scoping unit. No more
than one IMPLICIT NONE statement shall appear in a scoping unit.
Which leads to comparison with Table 2.1 in 2.3.2 Statement ordering (page
33 in 15-007r2).
Is the IMPLICIT NONE in C590 and in Table 2.1 only the version where there
is no <implicit-none-spec>?
No, they are both "the IMPLICIT NONE statement".
Maybe C590 could be reworded "If the IMPLICIT NONE statement appears in a
scoping unit, ...".
For example, is this allowed:
PARAMETER (x = 1.23)
IMPLICIT NONE (EXTERNAL)
I do not think we should allow this.
1) Could the right middle box in Table 2.1 (Derived-type definitions ? and
statement function statements) be shortened by replacing some of the
current entries with ?specification constructs??
Something should be done, not just here but also elsewhere, as we have
deleted the syntax term "specification statement" so there is no unambiguous
definition of it.
2) Is the table correct, since executable constructs include BLOCK
constructs, which can contain specification statements?
That bit seems ok, if a bit overly simplified. I don't see any obvious way
to improve it.
I hope people are not getting too early a start on reading for February,
since there will be a new 007 for that, which will contain lots of extra
typos and mistakes in any bits you have already read!
........................Malcolm Cohen, Nihon NAG, Tokyo.
More information about the J3