J3/17-215 To: J3 From: John Reid & Bill Long Subject: Comment 41 Date: 2017 October 07 Discussion: ----------- Comment 41 suggests inserting the extra paragraph shown below because "it should be stated more clearly that segment ordering ensures memory operation order, in the same way as line 5-13, page 212". It might be thought that this is not needed because the topic is already covered by the text in paragraph 3 of 11.6.2 Segments [209:3-15]. The proposer, Yasuharu Hayashi from NEC says "We agree that paragraph 3 of 11.6.2 can imply that segment ordering ensures memory operation order. However, we still think it is better to insert the paragraph we are suggesting because paragraph 3 of 11.6.2 states the cases in which data dependencies are prohibited but not the conditions in which memory operation orders are ensured. In very early versions of the coarray specification, data dependencies among unordered segments were allowed, but the results were undefined (i.e. memory operation orders were not ensured). Therefore, we think that permission of data dependencies does not necessarily mean the guarantee of memory operation orders." There are two alternatives: 1. Make no change. 2. Make the edit suggested in comment 41. Edit to 17-007r2: --------------- [209:2] In 11.6.2 Segments, after para 2, insert para: "If the segment P_i on image P precedes the segment Q_j on image Q, * a variable X on any image is defined, referenced, becomes undefined, or has its allocation status, pointer association status, array bounds, dynamic type, or type parameters changed or inquired about by execution of a statement of the segment P_i on image P, and * X is defined, referenced, becomes undefined, or has its allocation status, pointer association status, array bounds, dynamic type, or type parameters changed or inquired about by execution of a statement of the segment Q_j on image Q, then the action regarding X in the segment P_i on image P precedes the action regarding X in the segment Q_j on image Q."