J3/14-247 To: J3 Subject: Miscellaneous editorial stuff left over from 204 From: Van Snyder Date: 2014 October 06 References: 14-007r2, 14-143r1 1. Introduction =============== This was originally in 14-143r1, which didn't get processed at 204. 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". 4.5.2.2p1 is nearly identical to the first two sentences of 5.3.2p2, the only difference being that 4.5.2.2p1 is specialized for type names instead of identifiers. 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 after TS 81508] 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 after TS 81508] ought to be discussed in descriptions of the individual procedures, in subclauses 13.7.37, 13.7.58, 13.7.66, 13.7.67, and 13.7.68. The interleaving of calls to any procedure in unordered segments is processor dependent (although a standard-conforming program cannot observe this). It does not depend upon whether a processor uses a common random number generator. The final sentence of 13.5p4 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.43, 13.7.45, and 13.7.167. 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:38-40] concerning subclause 13.7.67 are followed by items with smaller subclause numbers. They should be put into subclause order. 2. Edits to 14-007r2 ==================== [64:10-11 C437] Replace "ultimate" with "direct" twice. [64:23-25] Delete 4.5.2.2p1. It simply repeats 5.3.2p2, specialized for derived type names. [105:2 C555] To avoid the appearance of implying that procedure variables exist, replace "procedure pointer or variable" with "variable or procedure pointer". [105:15 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," [244:5-6 9.11.5p1 second list item] After IOSTAT_INQUIRE_INTERNAL_UNIT insert "(13.8.2.15)" for consistenty with [244:10] and [244:12]. 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 [244:10] and [244:12]). [321:17+2 Note 13.1] replace "atomic variables" with "access to variables using atomic subroutines" because Fortran does not have atomic variables (having ATOMIC_INT_KIND or ATOMIC_LOGICAL_KIND doesn't make a variable an atomic variable, and if it did, it would be irrelevant here), and the term is not used anywhere else. [329:1-3 13.5p3] Delete the paragraph. The description reappears later. [329:6-8 13.5p4] Delete "On images ... dependent." The description reappears later. [329:9-330:2 13.5p5-6] Delete the paragraphs and Note 13.8. The descriptions reappear later. [344:9+ 13.7.37p5] Append a sentence: "The effect of invoking the function on any image other than image 1 [in the initial team, after TS 18508] is processor dependent." [346:6+ 13.7.43p3] 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." [347:40+ 13.7.45p3+] 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.} [353:12+ 13.7.58p5+] Append a parargraph: "The effect of invoking the subroutine on any image other than image 1 [in the initial team, after TS 18508] 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 TS 18508] 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 TS 18508] is processor dependent." [387:8+ 13.7.138p3] Append a sentence: "If images use a common random number generator, the sequences of values of the HARVEST argument in unordered segments are processor dependent." [400:15+ 13.7.167p3+] Insert a paragraph: "Whether the values of the arguments depend upon which image invokes the subroutine is processor dependent." [492:4 16.6.7p1(11)] Replace "if the associate name of" with "if its corresponding associate name in" because an ASSOCIATE construct might have several associations. [496:35-37] Replace "calling" with "invoking" because COMMAND_ARGUMENT_COUNT is a function, not a subroutine, insert "(13.7.37)" after "COMMAND_ARGUMENT_COUNT", insert "(13.7.58)" after "EXECUTE_COMMAND_LINE", insert "(13.7.67)" after "GET_COMMAND_ARGUMENT", insert "(13.7.68)" after "GET_ENVIRONMENT_VARIABLE", and move the list item to [497:8+], being careful to put it in subclause number order with respect to the other items moved to the same place. [496:38-40] Move the two list items concerning subclause 13.7.67 to [497:8+], being careful to put them them subclause number order with respect to the other items moved to the same place. [496:41-42] Replace "whether" with "if RANDOM_INIT is not invoked, whether". Replace "13.5" with "13.7.138" and move the list item to [497:8+], being careful to put it in subclause number order with respect to the other items moved to the same place. [497:1-2] Replace the list item: "o if images use a common random number generator, the sequences of values of the HARVEST argument resulting from invocations of RANDOM_NUMBER in unordered segments are processor dependent (13.7.138);" Then move it to [497:8+], being careful to put it in subclause number order with respect to the other items moved to the same place. [497:3-4] Delete the item. [497:8+] Insert list items being careful to put them in subclause number order with respect to the other items moved to the same place: "o Whether the value of the TIME argument of the CPU_TIME intrinsic subroutine (13.7.43) 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.46) 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.167) depend upon which image invokes the subroutine is processor dependent."