(j3.2006) (SC22WG5.5381) Straw vote on draft DTS

Robert Corbett robert.corbett
Sat Dec 6 05:27:31 EST 2014

 > Please answer the following question "Is N2033 ready for forwarding to
 > SC22 as the DTS?" in one of these ways.
 > 1) Yes.
 > 2) Yes, but I recommend the following changes.
 > 3) No, for the following reasons.
 > 4) Abstain.

My vote is "3) No, for the following reasons."

I voted "yes" or "abstain" on recent ballots regarding the draft TS
because the features specified in the drafts ranged from good to
tolerable and because I thought it would be good to have the TS
completed so that implementors could gain experience with the
features before they became part of an edition of the Fortran
standard.  The addition of stalled images in their present form
is sufficiently objectionable that I am compelled to vote "No."

My primary objection is to the requirements given in the third
paragraph of Clause 5.9 [14:19-23].  I do not see how the specified
semantics can be implemented without compromising the performance of
codes that do not make use of the feature.  I am not certain that
the semantics can be implemented at all in some common environments.

At a secondary level, I find the specification of stalled images to
be unclear.  Some points follow.

Clause 3.7 [5:41]
What does it mean for an image to have "encountered" an
<image-selector>?  I know we use the usual meaning of a word when
we do not specify its meaning, but that rule is inadequate for this
case.  For example, if an image executes a statement that contains an
<image-selector>, but that <image-selector> is part of an operand that
is not evaluated, has the <image-selector> been "encountered?"  My
guess is that it has not, but I cannot tell that from the draft TS.

Clause 5.9, paragraph 3 [14:20-23]
When does a stalled image transfer control to the END TEAM statement?
Can it happen immediately or must it wait until all other images that
are part of the same team have completed, failed, or stalled?

Clause 5.9, paragraph 3 [14:20-23]
Are the deallocations and finalizations subject to any requirements
w.r.t. the order in which they are performed?  For example, during
normal execution, allocatable objects that are part of an instance of
an internal procedure will be deallocated before the allocatable
objects that are part of the related instance of the host procedure.
Is there any requirement that that ordering be respected by the
stalled image?

Robert Corbett
representing Oracle America

More information about the J3 mailing list