ISO/IEC JTC1/SC22/WG5 N2080 Result of the interpretations ballot 9, N2061 Key for the Result line: Y vote passes unconditionally. C vote passes, subject to minor changes noted below N vote fails. Returned to J3 for further work. F08/ F08/ F08/ F03/ F08/ F08/ F08/ F08/ F08/ F08/ F08/ F08/ 0105 0110 0115 0116 0117 0118 0119 0120 0121 0122 0123 0124 Chen Y C Y Y Y Y Y Y Y Y Y Y Corbett C Y Y Y Y Y Y C Y Y Y Y LeAir Y C Y Y Y Y Y Y Y C Y Y Long Y C Y Y Y Y Y Y Y C Y Y Maclaren Y Y Y Y Y Y Y Y Y Y Y Y Muxworthy Y Y Y Y Y Y C Y Y Y Y Y Nagle Y Y Y Y Y Y Y Y Y Y Y Y Reid Y C Y Y Y C Y Y Y C Y C Scollard Y C Y Y Y Y Y Y Y C Y Y Snyder Y C Y Y Y C Y Y Y C Y Y Whitlock Y Y Y Y Y Y Y Y Y Y Y Y Result C C Y Y Y C Y Y Y C Y Y F08/ F08/ F08/ F03/ F08/ F08/ F08/ F08/ F08/ F08/ F08/ 0126 0127 0129 0130 0131 0132 0133 0134 0135 0136 0137 Chen Y Y Y Y Y Y Y Y Y Y Y Corbett Y Y C Y Y Y Y Y Y Y Y LeAir Y Y Y Y Y Y Y Y C Y Y Long Y Y C Y Y Y Y Y Y Y Y Maclaren Y Y Y Y Y Y Y Y Y Y Muxworthy Y Y Y Y Y Y C Y Y Y Y Nagle Y Y Y Y Y Y Y Y Y Y Y Reid Y C C Y Y Y Y Y C Y Y Scollard Y Y Y Y Y Y Y Y C Y Y Snyder Y Y C Y Y Y Y Y C Y Y Whitlock Y Y Y Y Y Y Y Y Y Y Y Result Y C C Y Y Y C Y C Y Y Comments and decisions of /INTERP. F08/0105 Robert Corbett The second sentence of the last paragraph of the ANSWER makes an incorrect assertion. The sentence asserts that the cites subclause "prohibits an actual argument that is part of a pending input/output storage sequence affector from being associated with a dummy argument that has the value attribute.". The cited subclause explicitly states that the prohibition applies "for asynchronous input." The preceding paragraph (9.6.4.1, paragraph 5 [220:11-12]) assumes such associations are permitted for asynchronous output. Decision of /INTERP: Change "pending input/output storage" in the last paragraph of the ANSWER to "pending input storage". .................................................................... F08/0110 John Reid The edit for [243:6-7 9.12p6] is not quite right. It should be Replace "depend ... , or on" with "be affected by the data transfer, the processing, or". The full replacement para is OK. Van Snyder I agree with John's improvement to the edit for [243:5-7 9.12p6] Mark LeAir and Bob Scollard Agree with John’s comment Daniel Chen The variable name in Answer 1 should be "Opened" instead of "OPEN". Bill Long [Not in Edits] - Agree with Daniel Chen that "OPEN" should be "OPENED" in the Answer 1. Decisions of /INTERP: 1. Change "and OPEN depend" in ANSWERS number 1 to "and OPENED depend". 2. Edit for [243:6-7], first set of instructions only, after "... " insert ", or on"; after " processing" insert ", or". .................................................................... F08/0118 John Reid The label in the statement 1 w%c = 42 is not referenced and is distracting to the reader. It should be removed. Van Snyder I agree with John's suggestion to remove the statement label in the question. In the original submission (14-240) there were four labeled statements that were referenced by the text of the question. When that was reduced to one statement (14-240r1) the label should have been removed. Should 14-240 be listed in the history? I don't think it got to /INTERP before 14-240r1. The edits might be slightly improved by replacing "the shall not" with "neither the nor any subobject of the shall" rather than "the or any subobject of the shall not" at [170:19] and [184:14], and nearly the same thing without syntax font and the hyphen at [171:12]. Decisions of /INTERP: 1. Delete the unnecessary label. 2. We agree with Van's wordsmithing, but prefer to use the wording "subobject thereof". That makes those edits: [170:19] 8.1.3.1 Purpose and form of the ASSOCIATE construct, C801, Change " shall not appear" to "neither the nor any subobject thereof shall appear". [171:12] 8.1.3.3 Attributes of associate names, p2, Change "the associate name shall not appear" to "neither the associate name nor any subobject thereof shall appear". [184:13] 8.1.9.1 Purpose and form of the SELECT TYPE construct, C836, Change " shall not appear" to "neither the nor any subobject thereof shall appear". .................................................................... F08/0119 David Muxworthy The suggested 'Future Revision' edits are a relatively minor editorial change which could be done now. Decision of /INTERP: Those edits are not an editorial change but a technical change, which should not be done until incorporation of the corrigendum into the draft of the next revision. .................................................................... F08/0120 Robert Corbett The answer given is fine, indeed obvious. The proposed edit could be improved. It would be better to list procedure pointers with the other categories of procedures. Also, there is no reason to call them "named procedure pointers". If an identifier identifies a procedure pointer, that procedure pointer is necessarily a named procedure pointer. A better edit is [440:6, 16.3.1p1] Replace "external procedures that have binding labels, intrinsic modules" with "external procedures that have binding labels, procedure pointers, intrinsic modules" Decision of /INTERP: We disagree. Procedure pointers do not always have names, whereas the other procedures listed always do. Adding the new entry to the list of things that might or might not be named is the right thing to do. .................................................................... F08/0122 John Reid There is no verb in the edit for [295:4+]. Add "add paragraph" after "p18+,". Van Snyder I agree with John's suggestion to improve the editor's instructions. Mark LeAir and Bob Scollard Agree with John’s comment Bill Long Agree with John Reid that the instruction part of the final edit needs a verb, and agree with John's proposed change. Decision of /INTERP: Agreed. .................................................................... F08/0124 John Reid I do not like the new term "potential subobject component". Why is it a "potential" subobject component? I suppose it might have arrays at more than one level of component selection, so not be a subobject; but in this case, it does not have the potential to be a subobject. I suggest "deepcomponent" instead, to indicate the penetration into portions of allocatable components. Decision of /INTERP: Rejected. It is a component at any level of component selection that is potentially a subobject. This term is much more descriptive than the misleading and mysterious (and misspelt) "deepcomponent". Furthermore, the term is already in use in the draft F2015. .................................................................... F08/0127 John Reid The edit instructions are too vague. They should be "Introduction, bullet item on Programs and procedures, last sentence:" Decision of /INTERP: After "[xvi]", insert 'Introduction, bullet "Programs and procedures:' and a new line. .................................................................... F08/0129 Robert Corbett The restrictions requiring CLASS and TYPE specifiers to refer to previously defined derived types are not necessary. One might argue that the restrictions force programmers to write clearer code, but the complexity of what is a allowed makes such arguments weak. Given the complexity compilers for Fortran are currently required to handle, handling CLASS and TYPE specifiers that refer to later defined derived types would not add a significant burden to those compilers. Removal of the restrictions should be considered for a later revision of the Fortran standard. John Reid The reference to the standard should be "10-007r1:52:6+" instead of "12-007:6+. Van Snyder The position of the edit should be [10-007r1:52:6+ 4.3.1.2p1+] or [12-007:52:6+ 4.3.1.2p1+], not [12-007:6+ 4.3.1.2p1+]. Bill Long Agree with John Reid that the edit citation should be 10-007r1:[52:6+] rather than 12-007:6+. Decision of /INTERP: Change "[12-007:6+ 4.3.1.3p1+] Insert a paragraph:" to "[52:6+] 4.3.1.3 CLASS, p1+, insert new paragraph". .................................................................... F08/0133 David Muxworthy The alternative wording is preferable. Decision of /INTERP: Remove the optional wordsmithing (this was additional, not alternative, wording). Unnecessary wordsmithing is inappropriate in an interp. .................................................................... F08/0135 John Reid The edit does not allow for the edit in Corrigendum 1. It should be [295:3, as edited by Corr. 1] 12.5.2.4 Ordinary dummy variables, p18 Change "If ... vector subscript" to "If the procedure is nonelemental, the actual argument is an array section having a vector subscript, and the dummy argument does not have the VALUE attribute". Van Snyder I agree with John's observation concerning coordination with Corrigendum 1, and his suggested revised edit. Mark LeAir and Bob Scollard Agree with John’s comment Decision of /INTERP: Revise the edit to the following (has simpler instructions than above): [295:3] 12.5.2.4 Ordinary dummy variables, p18, after applying the changes in Corrigendum 1, between "is nonelemental" and "and the actual argument", insert ", the dummy argument does not have the VALUE attribute,". This makes that whole sentence read "If the procedure is nonelemental, the dummy argument does not have the VALUE attribute, and the actual argument is an array section having a vector subscript, the dummy argument is not definable and shall not have the ASYNCHRONOUS, INTENT (OUT), INTENT (INOUT), or VOLATILE attributes." ....................................................................