(j3.2006) (SC22WG5.5634) WG5 straw ballot 11 and J3 letter ballot 35

Robert Corbett robert.corbett
Fri Jan 8 06:54:52 EST 2016

The following Fortran 2008 interpretations are being balloted:

Yes  No   Number     Title
---  -N- F08/0128 Is recursive USE within a submodule permitted?
-Y-  --- F08/0138 Type extension in submodules
-C-  --- F08/0139 Is the name of an external procedure that has a
                   binding label a local identifier?
-Y-  --- F08/0140 Assign to deferred-length coindexed character variable
-Y-  --- F08/0141 Can a statement function have a variable-length PDT
-Y-  --- F08/0142 Is useless module extension permitted?
-Y-  --- F08/0143 May a pure procedure have an INTENT(OUT) polymorphic
---  -N- F08/0144 Is nonadvancing I/O allowed during execution of DO

F08/0128 N

Answer A1 states that the example was not intended to be conforming.
Paper 09-141, which is cited in the discussion section, begins

       The prohibition against a submodule accessing or
       referencing its ancestor module by use association
       appears to have been wrong-headed in the first place.
       There appears to be no reason to keep it in any form.

I did not attend the meeting during which paper 09-141 was
approved, but I find it hard to believe that the committee could
have passed that paper without intending to allow such usage.

I see no technical objection to implementing the feature as it is
currently specified.  Paper 09-141 contains remarks to that effect.
The comments Reinhold Bader included in his ballot convinced me
that the feature is useful, and that its removal will put a burden
on users.  If the feature is retained, Q2 and Q3 need answers.
My reading of the Fortran 2008 standard as written is that the
answer to both questions is "yes".

On a minor note, the line

      Note that the "submodule TR", Technical Report 19767 contains, an edit

does not conform to the rules of punctuation of American English.
In American English, the comma that terminates an appositive
phrase appears at the end of the phrase, not after the following
verb.  Also, the appearance of quotation marks in that line would
be considered misuse in American English.  It implies that the
term "submodule TR" has an unconventional meaning, which I do
not think is the case here.

F08/0139 C

The keywords "TRANSFER" and "zero-sized scalar" listed in the
KEYWORDS line of the header are not appropriate for the topic
of the interpretation.

F08/0144 N

The ANSWER section of the interp states

       It was intended that nonadvancing input/output
       not be permitted within a DO CONCURRENT construct.

       An edit is provided to address this oversight.

However, the edit provided allows nonadvancing input/output
within a DO CONCURRENT construct in the case of child data
transfer statements.  The final sentence of Subclause
of the Fortran 2008 standard states

       A formatted child data transfer statement is a
       nonadvancing input/output statement, and any
       ADVANCE= specifier is ignored.

The answer might be changed to

       It was intended that nonchild nonadvancing
       input/output not be permitted within a
       DO CONCURRENT construct.

for which the proposed edit is adequate.  I prefer changing
the edit to

       Nonadvancing input/output shall not occur (
       in the range of the loop.

I included the subclause citation, because the word "occur"
is used in the sense specified in that subclause, not in
its conventional sense.  I would not object to removing
the citation.


Robert Corbett
representing Oracle America

More information about the J3 mailing list