(j3.2006) (SC22WG5.5634) WG5 straw ballot 11 and J3 letter ballot 35
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
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.
The keywords "TRANSFER" and "zero-sized scalar" listed in the
KEYWORDS line of the header are not appropriate for the topic
of the interpretation.
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 184.108.40.206
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 (220.127.116.11)
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
representing Oracle America
More information about the J3