J3/14-274 To: J3 From: Bill Long Subject: TS 18508 Misc edits Date: 2014 October 16 References: N2031, 14-239, 14-251, 14-252, 14-254 Discussion ---------- This paper collects more minor edits in page/line order for the TS. The major sources were m205 papers 14-251 and 14-252, as well as the collection of ballot comments in N2031. The paper replaces 14-251 and 14-252. Guidance on the wording of argument desciptions was taken from 14-139. Edits are prefixed with 251:, 252:, or Van: if they came from papers 14-251, 14-252, or the section of N2031 that includes comments from Van Snyder, respectively. Some edits were rejected because of conflicts with other edits to the same text, or because changes made by previously passed papers (noted) made the edit wrong or irrelevant. Those edits are collected at the end of the paper. Edits to N2027: ---------------- 0 Introduction ---------------- Van:[iv] Introduction paragraph 1, line 2: Delete "a set of". Van:[iv] paragraph 3, line 5: Delete "sets of". 3 Terms and definitions ----------------------- 251:[5:11+] Add "<3.2a> coarray that is accessible within a CHANGE TEAM construct from outside the construct (5.1)" Reason: The term "established" is used quite a bit. I think we need a definition. 5 Teams of images ----------------- Van:[9:4] Replace "have been" with "are". Van:[9:15] Replace "block" with "construct". Van:[10:13] Delete "the" before "type" 251:[10:27] Change "a coarray that does not appear in a " to "a coarray that is not an associating entity". Reason. The present wording suggests that a coarray established outside the construct is not accessible if it appears in a . Van:[10:30] Delete the first "the". Van:[10:40] Delete "the" before "other". Van:[11:Note 5.3, line 1] Insert "image" after "Each". Van:[11:Note 5.3, line 6] Append ", ONLY: TEAM_TYPE". Van:[12:18] Replace "it shall be executed by the same statement" with "the same statement shall be executed". 252:[13:5] After "image M" add "since execution last began in this team". Reason. In an earlier execution as a team, an image might have failed temporarily (stalled) because of the failure of another image. Van:[14:4] Replace "are" with "shall be". Van:[14:Note 5.8, lines 3-4] Replace "may" with "might" because ISO rules do not allow requirements or permissions in nonnormative text. 251:[14:7+] Delete the final sentence of NOTE 5.8: "An image ... reason." Reason: No longer correct. 6 Events --------- Van:[15:13] Replace "INTEGER with KIND of ATOMIC_INT_KIND defined" with "integer with kind ATOMIC_INT_KIND, where ATOMIC_INT_KIND is a named constant". (compare with 7.4.1 ATOM argument description). Van:[15:28] Insert a blank before the left parenthesis. Van:[15:32] Delete "the" before "execution". Van:[16:6] Insert a blank before the left parenthesis. Van:[16:11] Replace "UNTIL_COUNT ... with" with " if the UNTIL_COUNT specifier appears and has". 7 Intrinsic procedures ----------------------- 251:[17:19] Change "atomic memory operations" to "atomic actions". Reason. This is the terminology that we are using, see earlier in this paragraph. Van:[17:Note 7.2, line 1] Replace "These properties" with "The properties of atomic subroutines". Van:[18:Note 7.3, line 1] Replace "in the event ... for" with "if an error condition occurs during execution of". Van:[18:Note 7.4, line 1] Replace "collectives" with "collective subroutines". Van:[18:Note 7.5, line 1] Replace "procedure" with "subroutine". Van:[18:Note 7.5, line 2,5,6] Insert "subroutine" after "collective" thrice. Van:[19:6] Delete "and". Van:[19:10] Change "shall be a scalar and of type integer" to "shall be an integer scalar". 251:[19:11] Change "shall be a scalar of type integer" to "shall be an integer scalar with a decimal exponent range of at least four". Van:[19:18] Delete "and". Van:[19:22] Change "shall be a scalar and of type integer" to "shall be an integer scalar". 251:[19:23] Change "shall be a scalar of type integer" to "shall be an integer scalar with a decimal exponent range of at least four". 251:[19:25] Change "bitwise AND" to "atomic". Van:[19:30] Delete "and". Van:[19:37] Replace "scalar and" with "a scalar". Van:[19:39] Replace "scalar and" with "a scalar". Van:[19:40] Replace "scalar and" with "a scalar". 251:[20:1] Change "shall be a scalar of type integer" to "shall be an integer scalar with a decimal exponent range of at least four". 251:[20:4] Change "compare and swap" to "atomic". Van:[20:9] Delete "and". Van:[20:13] Change "shall be a scalar of type integer" to "shall be an integer scalar". 251:[20:15] Change "add" to "atomic". 251:[20:16] Change "shall be a scalar of type integer" to "shall be an integer scalar with a decimal exponent range of at least four". 251:[20:19] Change "add" to "atomic". Van:[20:24] Delete "and". Van:[20:28] Change "shall be a scalar of type integer" to "shall be an integer scalar". 251:[20:30] Change "bitwise AND" to "atomic". 251:[20:31] Change "shall be a scalar of type integer" to "shall be an integer scalar with a decimal exponent range of at least four". 251:[20:34] Change "bitwise AND" to "atomic". Van:[20:34] Insert "was" before "executed". Van:[20:39] Delete "and". Van:[21:3] Change "shall be a scalar of type integer" to "shall be an integer scalar". 251:[21:5] Change "bitwise OR" to "atomic". 251:[21:6] Change "shall be a scalar of type integer" to "shall be an integer scalar with a decimal exponent range of at least four". 251:[21:9] Change "bitwise OR" to "atomic". Van:[21:14] Delete "and". Van:[21:18] Change "shall be a scalar of type integer" to "shall be an integer scalar". 251:[21:20] Change "bitwise exclusive OR" to "atomic". 251:[21:21] Change "shall be a scalar of type integer" to "shall be an integer scalar with a decimal exponent range of at least four". 251:[21:24] Change "bitwise exclusive OR" to "atomic". Van:[21:29] Delete "and". Van:[21:33] Replace "scalar and of type integer" with "an integer scalar". Van:[21:33] Change "shall be a scalar of type integer" to "shall be an integer scalar". 251:[21:34] Change "shall be a scalar of type integer" to "shall be an integer scalar with a decimal exponent range of at least four". 251:[21:36] Change "bitwise OR" to "atomic". Van:[22:2] Delete "and". Van:[22:6] Change "shall be a scalar and of type integer" to "shall be an integer scalar". Van:[22:6] Replace "scalar and of type integer" with "an integer scalar". 251:[22:7] Change "shall be a scalar of type integer" to "shall be an integer scalar with a decimal exponent range of at least four". 251:[22:9] Change "bitwise exclusive OR" to "atomic". Van:[22:15-16] Replace "of the current" with "in the current". Van:[22:18] Change "shall be a scalar of type integer" to "shall be an integer scalar". Van:[22:19] Replace "of the current" with "in the current". 251:[22:20] Change "shall be a scalar of type integer" to "shall be an integer scalar with a decimal exponent range of at least four". Van:[22:21] Change "shall be a scalar of type default character" to "shall be a default character scalar". Van:[22:33] Replace "of the current" with "in the current". Van:[22:35] Change "shall be a scalar of type integer" to "shall be an integer scalar". Van:[22:36(twice)] Replace "of the current" with "in the current". Van:[22:37] Replace "of the current" with "in the current". 251:[22:38] Change "shall be a scalar of type integer" to "shall be an integer scalar with a decimal exponent range of at least four". Van:[22:39] Change "shall be a scalar of type default character" to "shall be a default character scalar". Van:[22:40] Replace "of the current" with "in the current". Van:[22:42] Replace "of the current" with "in the current". Van:[23:12] Replace "of the current" with "in the current". Van:[23:15] Change "shall be a scalar of type integer" to "shall be an integer scalar". Van:[23:16(twice)] Replace "of the current" with "in the current". Van:[23:17] Replace "of the current" with "in the current". 251:[23:18] Change "shall be a scalar of type integer" to "shall be an integer scalar with a decimal exponent range of at least four". Van:[23:19] Change "shall be a scalar of type default character" to "shall be a default character scalar". Van:[23:31] Replace "of the current" with "in the current". Van:[23:33] Replace "of the current" with "in the current". Van:[23:34] Replace "of the current" with "in the current". Van:[23:36] Replace "of the current" with "in the current". Van:[23:40] Replace "implement" with "be". Van:[23:40] Replace "of the current" with "in the current". Van:[23:41] Change "shall be a scalar of type integer" to "shall be an integer scalar". Van:[23:42(twice)] Replace "of the current" with "in the current". Van:[23:43] Replace "of the current" with "in the current". 251:[24:1] Change "shall be a scalar of type integer" to "shall be an integer scalar with a decimal exponent range of at least four". Van:[24:2] Change "shall be a scalar of type default character" to "shall be a default character scalar". Van:[24:3] Replace "of the current" with "in the current". Van:[24:5] Replace "of the current" with "in the current". Van:[24:18] Replace "of the current" with "in the current". Van:[24:21(twice)] Replace "of the current" with "in the current". Van:[24:25] Change "shall be a scalar of type integer" to "shall be an integer scalar". Van:[24:26(twice)] Replace "of the current" with "in the current". Van:[24:27] Replace "of the current" with "in the current". 251:[24:28] Change "shall be a scalar of type integer" to "shall be an integer scalar with a decimal exponent range of at least four". Van:[24:29] Change "shall be a scalar of type default character" to "shall be a default character scalar". Van:[24:30] Replace "of the current" with "in the current". Van:[24:32] Replace "of the current" with "in the current". 252:[24:37] Delete ", ERRMSG". Van:[24:41] Delete "and". Van:[24:41] Replace "scalar and" with "a scalar". Van:[25:2] Replace "scalar and of type integer" with "an integer scalar". 251:[25:5] Change "shall be a scalar of type integer" to "shall be an integer scalar with a decimal exponent range of at least four". Van:[25:6] Replace "scalar of type default character" with "default character scalar". 252:[25:6-8] Delete "ERRMSG ... of the argument." Van:[25:20] Delete "the" before "type" Van:[25:23] Delete "the" before "type" Van:[25:23] Insert "decimal" before "range". Van:[25:32-33] Insert a comma after "STAT_FAILED_IMAGE" twice. Van:[26:5] Replace "and" with "or". Van:[26:7] Delete "and". Van:[26:15] Append ", ONLY: TEAM_TYPE". Van:[26:22] Append ", ONLY: TEAM_TYPE". Van:[27:14] Insert "decimal" before "range". Van:[27:14] Delete "the" before "type" Van:[27:24] Replace "image in the set of" with "of the". Van:[27:32] Delete "the" before "type" Van:[28:20] Delete "the" before "type" 251:[28:28] Change "shall be a scalar of type integer" to "shall be an integer scalar with a decimal exponent range of at least four". Van:[28:29] Replace "scalar of type default character" with "default character scalar". Van:[29:4] Insert "of the named constant" before "STAT_-". Van:[29:11] Replace "such" with "error". Van:[29:16] Delete "the" before "type" Van:[29:19] Delete "the" before "execution". Van:[29:22] Replace the comma with a semicolon. Van:[29:27] Delete "the" before "type" 8 Required editorial changes ---------------------------- Van:[31:19] Delete "powerful". Belongs in a sales brochure. Van:[31:21] Delete "tagged" (the term is not defined anywhere). [31:33+] Copy the definition of "established coarray" here, with heading 1.3.68a. Van:[32:38] Replace "of" with "in". Van:[32:39] Replace "of" with "in". Van:[33:2] Replace "of the current" with "in the current". Van:[33:5] Insert "being" (with underwave) before "defined". Van:[33:8] Delete the space between "LOCK_TYPE" and the comma. Van:[33:18] Insert a comma before "or" twice. Van:[34:4] Insert "in the current team" after "images". Van:[34:5] Insert "of the named constant" before "STAT_FAILED_IMAGE". Van:[34:10] Insert "named" before "constant". Van:[34:12] Replace "value of" with "values of the named constants". Van:[34:24] Replace "of the current" with "in the current". Van:[34:25] Replace "of the current" with "in the current". 251:[35:13] Replace "image \uwave{in the team}" with "image \uwave{in the current team}, and replace "as many times as has image M" by "as many times as has image M {\uwave since execution last began in this team}". Reason. On leaving a CHANGE TEAM construct, we need to ignore the SYNC ALLs executed within it because their numbers may differ. 252:[35:16] Change "3" to "4". 252;[35:21+] Add para: "Execution of a SYNC IMAGES statement performs a synchronization of the image with each of the other \uwave{active} images in the . Executions of SYNC IMAGES statements on images M and T correspond if the number of times image M has executed a SYNC IMAGES statement \uwave{in the current team} with T in its image set \uwave{since execution last began in this team} is the same as the number of times image T has executed a SYNC IMAGES statement \uwave{in the current team} with M in its image set \uwave{since execution last began in this team}. The segments that executed before the SYNC IMAGES statement on either image precede the segments that execute after the corresponding SYNC IMAGES statement on the other image." Reason. We need to allow for failed images in SYNC IMAGES in just the same way as in SYNC ALL. Note that both are mentioned in 5.8 at [13:20]. {Modified by 14-250r2.} Van:[35:28] Insert "of the named constant" before "STAT_FAILED_IMAGE". Van:[35:32] Insert "value of the named" before "constant". Van:[35:35] Replace "value of" with "values of the named constants". Van:[35:39] Delete "argument" (statements don't have arguments). Van:[36:18] Replace "of" with "in". 252:[37:1-] In the entry for EVENT QUERY, Delete ", ERRMSG". Reason. None of the other atomic subroutines have an ERRMSG argument. Van:[37 in the list of new entries for the table in 13.5, for EVENT_QUERY] Insert "variable" after "event". Van:[38:18] Delete "the" before "type" Van:[38:29] Change "shall be a scalar of type default integer" to "shall be a default integer scalar". Van:[38:30] Replace "scalar of type default character" with "default character scalar". Van:[39:5] Delete "the" before "type" Van:[39:23] Delete "the" before "type" Van:[41:11] Add subclause number " (13.8.2.21b)" after "to fail". Van:[41:12] Add subclause number " (8.4a)" after "is made available". Van:[41:13] Add subclause number " (13.7.42e)" after "CO_SUM intrinsic subroutine". Van:[41:14] Add subclause number " (13.7.42d)" after "CO_REDUCE intrinsic subroutine". Van:[41:15] Add subclause number " (8.5.2a)" after "with each other". Van:[41:16] Add subclause number " (8.5.2c)" after "without a NEX_INDEX= specifier". ==================== End of Edits to N2027 ==================== The following edits were omitted because of the reason cited. ------------------------------------------------------------- Rejected: Van:[5:2] Delete first "the". {Editorial.} Rejected: 252:[16:17-20+] Swap the text of Note 6.3 with the text of the paragraph in lines 17-20. Reason. The text in the paragraph seems unsuitable to be definitive text. It is the sequence of changes of the value of the event variable that matters, as given in the note. {Reverses previously agreed change.} Rejected: 252:[17:32+] In NOTE 7.1, line 1, after "atomic subroutine" add "without a STAT argument". Reason. I think the intention is for the call to be lightweight and fast if there is no STAT argument but to make a check that all is well with the image if STAT is present. {Note deleted by 14-261.} Rejected: Van:[17:Note 7.1, line 1] Replace "for" with "with an actual argument that is" (what does executing a subroutine for an object mean?). {Note deleted by 14-261.} Rejected: 252:[18:14] After "zero" add "if no image in the current team is detected as failed and STAT_FAILED_IMAGE otherwise". {Edit incompatible with 14-238r2.} Rejected: 252:[18:21-22] Delete sentence "If an ... STAT_FAILED_IMAGE." Reason: We need to regard a collective as successful even if it detects failed images, see [18:2-3]. {Edit incompatible with 14-238r2.} Rejected: 251:[19:38] Change "compare" to "atomic". {The value of the ATOM argument is the one used for the compare.} Rejected: 252:[22:11] Add "active" before "images". {Changed by 14-250r2.} Rejected: 252:[22:16] Add "active" before "images". {Changed by 14-250r2.} Rejected: 252:[22:24] Add "active" before "images". {Changed by 14-250r2.} Rejected: 252:[22:26] Change "current team of images" to "active images of the current team". {Changed by 14-250r2.} Rejected: 252:[22:31] Add "active" before "images". {Changed by 14-250r2.} Rejected: 252:[22:33] Add "active" before "images". {Changed by 14-250r2.} Rejected: 252:[22:40] Add "active" before "images". {Changed by 14-250r2.} Rejected: 252:[22:42] Add "active" before "images". {Changed by 14-250r2.} Rejected: 252:[23:6] Change "current team of images" to "active images of the current team". {Changed by 14-250r2.} Rejected: 252:[23:11] Add "active" before "images". {Changed by 14-250r2.} Rejected: 252:[23:13] Add "active" before "images". {Changed by 14-250r2.} Rejected: 252:[23:20] Add "active" before "images". {Changed by 14-250r2.} Rejected: 252:[23:22] Add "active" before "images". {Changed by 14-250r2.} Rejected: 252:[23:28] Change "current team of images" to "active images of the current team". {Changed by 14-250r2.} Rejected: 252:[23:33] Add "active" before "images". {Changed by 14-250r2.} Rejected: 252:[23:36] Add "active" before "images". {Changed by 14-250r2.} Rejected: 252:[23:40] Add "active" before "images". {Changed by 14-250r2.} Rejected: 252:[23:42 twice] Add "active" before "images". {Changed by 14-250r2.} Rejected: 252:[24:3] Add "active" before "images". {Changed by 14-250r2.} Rejected: 252:[24:5] Add "active" before "images". {Changed by 14-250r2.} Rejected: 252:[24:15] Change "current team of images" to "active images of the current team". {Changed by 14-250r2.} Rejected: 252:[24:21] Add "active" before "images". {Changed by 14-250r2.} Rejected: 252:[24:23] Add "active" before "images". {Changed by 14-250r2.} Rejected: 252:[24:30] Add "active" before "images". {Changed by 14-250r2.} Rejected: 252:[24:32] Add "active" before "images". {Changed by 14-250r2.} Rejected: 251:[27:20] Before "have initiated" add "are known to". {Concept of "known" dropped from 14-253.} Rejected: 251:[27:25] Before "have initiated" add "be known to". {Concept of "known" dropped from 14-253.} Rejected: 251:[27:26] Change "has initiated" add "is known to have initiated". {Concept of "known" dropped from 14-253.} Rejected: 251:[27:27] Before "have initiated" add "are known to". Reason: This should be like FAILED_IMAGES and only list the images it already knows have stopped. {Concept of "known" dropped from 14-253.} Rejected: 252:[29:21-22] Change "number of failed images in the team specified, otherwise the result is the number of nonfailed images in the team specified" to "number of images in the team specified that are known to have failed, otherwise the result is the number of images in the team specified that are not known to have failed". Reason. NUM_IMAGES should use the list of failed images that the image has. {Paragraph deleted by 14-254r1.} Rejected: 252:[31:23] Change "which" to "that". Reason. The STAT value STAT_FAILED_IMAGE just indicates that an image has failed and FAILED_IMAGES only lists the images the executing image already knows have failed. {Concept of "known" dropped from 14-253.} Rejected: 251:[31:26 to 32:27] Replace by "{In 1.3 Terms and definitions, insert the new terms of Clause 3 of this Technical Specification.}" Reason. It is safer to define the terms once in the TS. {Concept declined by the base standard editor.} Rejected: Van:[39:9] Replace "scalar of type LOGICAL" with "logical scalar" (compare MASK argument to ALL in 1539). {Paragraph deleted by 14-254r1.} Rejected: 252:[39:10] Change "failed ... nonfailed images" to "images in the team specified that are known to have failed or the number that are not known to have failed". {Paragraph deleted by 14-254r1.} Rejected: [39:15-16] Change "failed ... specified" to "images in the team specified that are known to have failed; otherwise, the result is the number that are not known to have failed". Reason. NUM_IMAGES should use the list of failed images that the image has. {Paragraph deleted by 14-254r1.}