J3/14-143r1 To: J3 Subject: Miscellaneous editorial stuff From: Van Snyder Date: 2014 May 29 1. Introduction =============== C437 uses the term "ultimate component". Although the recursion in the definition for "ultimate component" stops at allocatable components, and LOCK_TYPE is required to be a coarray, and is therefore required to be allocatable, it would be more immediately obvious that decomposition stops at LOCK_TYPE if "an ultimate component" were replaced with "a direct component". The use of the term "ultimate component" in C438 is incorrect. An interp, and a new term are needed. Malcolm has proposed "potential subobject component" as the new term. 4.5.2.2p1 and 5.3.2p2 are nearly identical. There appears to be no reason to keep 4.5.2.2p1. 5.3.15p1 could be simplified and made more consistent with C557 and C558. There are cross references from 9.11.5 to 13.8.2.13 and 13.8.2.14 for IOSTAT_END and IOSTAT_EOR, but none to 13.8.2.15 for IOSTAT_INQUIRE_INTERNAL_UNIT. Note 13.1 uses the term "atomic variables", but this term is not used anywhere else (because Fortran has no such concept). It should be "variables using atomic subroutines". That the effects of calling COMMAND_ARGUMENT_COUNT, EXECUTE_COMMAND_LINE, GET_COMMAND, GET_COMMAND_ARGUMENT, and GET_ENVIRONMENT_VARIABLE on any image other than image 1 [in the initial team] are processor dependent, are discussed in 13.5p3. Subclause 13.5 should contain only summaries and generalities, not specifics. Considerations concerning invoking a procedure on other than image 1 [in the initial team] ought to be discussed in descriptions of the individual procedures, in subclauses 13.7.37, 13.7.57, 13.7.65, 13.7.66, and 13.7.67. The processor dependency whether different images use a common random number generator is discussed in 13.5p4. Similarly, this discussion ought to be in subclause 13.7.135. The interleaving of calls to any procedure in unordered segments is processor dependent (although a standard-conforming program cannot observe this), so this item is not even informative. Indeed, one might wonder "Since it's said here and not elsewhere, is it perhaps untrue elsewhere?" That the results of CPU_TIME, DATE_AND_TIME, and SYSTEM_CLOCK might be dependent on which image calls them, are discussed in 13.5p5. Similarly, these discussions ought to be in subclauses 13.7.42, 13.7.44, and 13.7.164. 13.5p6 doesn't say anything useful, since the consideration applies to all procedures, not only "all other standard intrinsic procedures." An ASSOCIATE CONSTRUCT might have several associations; "the associate name" is therefore ambiguous. The list items at [482:37-39] concerning subclause 13.7.66 are followed by items with smaller subclause numbers. They should be put into subclause order. 2. Edits to 14-007 ================== [64:7-8 C437] Replace "ultimate" with "direct" twice. [64:20-24] Delete 4.5.2.2p1. It simply repeats 5.3.2p2, specialized for derived type names. [103:2 C555] To avoid the possibility of implying that procedure variables exist, replace "procedure pointer or variable" with "variable or procedure pointer". [103:9 5.3.15p2] Since C557 and C558 both use "accessed by use association" instead of "other than within the module," replace the paragraph with "If a variable or procedure pointer is accessed by use association," [242:16-17 9.11.5p1 second list item] After IOSTAT_INQUIRE_INTERNAL_UNIT insert "(13.8.2.15)" for consistenty with [242:21] and [242:23]. Delete "from the intrinsic module IOSTAT_FORTRAN_ENV (13.8.2)" (or insert "from the intrinsic module IOSTAT_FORTRAN_ENV (13.8.2)" after the references to IOSTAT_END and IOSTAT_EOR at [242:21] and [242:23]). [317:16+2 Note 13.1] replace "atomic variables" with "access to variables using atomic subroutines" because Fortran does not have atomic variables, and the term is not used anywhere else. [325:1-12 13.5p3-6] Delete the paragraphs and Note 13.8. [339:31+ 13.7.37p5] Append a sentence: "The effect of invoking the function on any image other than image 1 [in the initial team, after the TS] is processor dependent." [341:10+ 13.7.42p3] Append a sentence: "Whether the value of TIME depends upon which image invokes the subroutine is processor dependent. Whether the value of TIME is a per-image value or per-program value is processor dependent." [343:2+ 13.7.44p3+] Insert a paragraph: "Whether the values of the arguments depend upon which image invokes the subroutine is processor dependent." {I don't think it's necessary to say whether all images run in the same time zone is processor dependent.} [348:12+ 13.7.57p5+] Append a parargraph: "The effect of invoking the subroutine on any image other than image 1 [in the initial team, after the TS] is processor dependent." [352:15+ 13.7.66p3+] Append a parargraph: "The effect of invoking the subroutine on any image other than image 1 [in the initial team, after the TS] is processor dependent." [353:6+ 13.7.67p3+] Append a parargraph: "The effect of invoking the subroutine on any image other than image 1 [in the initial team, after the TS] is processor dependent." [381:23+ 13.7.135p3] Append a sentence: "Whether all images use a common random generator or independent ones is processor dependent. If images use a common random number generator, the sequences of values of the HARVEST argument in unordered segments are processor dependent." [394:15+ 13.7.164p3+] Insert a paragraph: "Whether the values of the arguments depend upon which image invokes the subroutine is processor dependent." [478:13] Replace "if the" with "if its corresponding". [482:34-36] Replace "calling" with "invoking", insert "(13.7.37)" after "COMMAND_ARGUMENT_COUNT", insert "(13.7.57)" after "EXECUTE_COMMAND_LINE", insert "(13.7.66)" after "GET_COMMAND_ARGUMENT", insert "(13.7.66)" after "GET_ENVIRONMENT_VARIABLE", and move the list item to [483:7+], being careful to put it in subclause number order with respect to the other items moved to the same place. [482:37-39] Move the two list items concerning subclause 13.7.66 to [483:7+], being careful to put it in subclause number order with respect to the other items moved to the same place. [482:41] Replace "13.5" with "13.7.135" and move the list item to [483:7+], being careful to put it in subclause number order with respect to the other items moved to the same place. [482:42-483:1] Replace the list item: "o if images use a common random number generator, the sequences of values of the HARVEST argument in unordered segments are processor dependent (13.7.135);" Then move it to [483:7+], being careful to put it in subclause number order with respect to the other items moved to the same place. [483:2-3] Delete the item. [483:7+] Insert list items "o Whether the value of the TIME argument of the CPU_TIME intrinsic subroutine (13.7.42) depends upon which image invokes the subroutine is processor dependent. Whether the value of TIME is a per-image value or per-program value is processor dependent. o Whether the values of the arguments of the DATE_AND_TIME intrinsic subroutine (13.7.44) depend upon which image invokes the subroutine is processor dependent. o Whether the values of the arguments of the SYSTEM_CLOCK intrinsic subroutine (13.7.163) depend upon which image invokes the subroutine is processor dependent."