J3/08-019r1 To: J3 From: Malcolm Cohen Subject: Cumulative edits for corrections to the current 007. Date: 2008/10/nn 1. Introduction This document contains the list of edits to J3 for editorial and technical fixes to the current 007, which is 08-007r2. The edits are in order of occurrence in the 007. Each edit identifies the J3 paper (if any), and the meeting number. Edits identified as "/EDIT" are trivial corrections that did not require a formal J3 vote. 2. The papers From meeting 184: 08-144r2 08-145 08-148r1 (Replaced by 08-265r1 from meeting 185.) 08-152r2 08-153r3 08-157r2 08-158 08-159r1 08-160 08-161 08-162r2 08-170 08-179r1 08-180r1 08-184 From meeting 185: 08-215r1 08-222r3 08-226r4 08-228r1 08-253 08-264 08-265r1 Duplicated Edits: 08-231r2. Duplicates an edit in 08-264. 08-243r1. Duplicates an edit in 08-264. Deferred: These papers from meeting 185 need more work. 08-198r1 08-203r1 08-209r4 08-216r2 08-228r1 08-230r3 08-232r2 08-233r2 08-237r1 3. The edits GLOBAL: Replace "" with "". {08-161, m184} Change "CO_LBOUND"->"LCOBOUND" and "CO_UBOUND"->"UCOBOUND"", and reorder Table 13.1 and subclause 13.7 back to alphabetic order. {08-215r1, m185} INDEX: new defined term "descendant" throughout. {m184/EDIT} [xiv:Introduction] last bullet item, change "non-pointer" to "nonpointer". {m184/EDIT} [3:1.5.4p3] "this part" -> "This part". {08-264/EDIT, m185} [11:2.1.19-2.2.20] Move "corank" and "cosubscript" definitions to follow [13:2.1.29] "construct entity". {08-264/EDIT, m185} [14:2.1.42-] Before the definition of "designator", insert definition "2.1.41a <> of a module or submodule, submodule that extends that module or submodule or that extends another descendant thereof" {m184/EDIT} [20:2.1.94] Move "rank" definition to precede the definition of "record". {m184/EDIT} [20:2.1.95 "result variable" p1] Append "\ref{D12:Function subprogram}" i.e. "(12.6.2.2)" {08-264/EDIT, m185} [30:2.4.2p1] Delete "Whether an external ... processor dependent." {08-145/EDIT, m184, The editor notes:This is already said better in 9.3.1.} [43:3.3.1p3] Change "source forms" from bold font to normal font. {08-145/EDIT, m184} [61:4.5.2.4p2] After "Data entities" delete "in different scoping units". {08-264/EDIT, m185} [65:4.5.4.1 C454+] At the end of subclause "Component definition statement" Insert new paragraph "The in the specifies the type and type parameters of the components in the , except that the character length parameter may be specified or overridden for a component by the appearance of * in its . The in the specifies the attributes whose keywords appear for the components in the , except that the DIMENSION attribute may be specified or overridden for a component by the appearance of in its , and the CODIMENSION attribute may be specified or overridden for a component by the appearance of in its ." {08-180r1, m184} [74:4.5.6.4 Note4.50] Delete second paragraph "A variable ... submodule." {08-160/EDIT, m184} [85:5.1p3+] Append new paragraph at the end of the subclause: "Accessibility attributes apply to identifiers, not the entities they identify, and these attributes may be different in different scoping units. An entity may have the \attrx{ASYNCHRONOUS} or \attrx{VOLATILE} attributes in some scoping units and not have them in others." ***EDITOR: Reword to consistently use singular? {08-226r4, m185} [94:5.3.8.6] Index "named constant" here (here is "Implied-shape array"). {08-264/EDIT, m185} [95:5.3.10p2-] Subclause "INTENT attribute", immediately after the last constraint before p2, add new constraint "C541a An entity with the INTENT (OUT) attribute shall not be an allocatable coarray or have a subobject that is an allocatable coarray." {08-158, m184} [95:5.3.10 Note 5.13] Append to note "To avoid this deallocation for coarrays, INTENT (OUT) is not allowed for a dummy argument that is an allocatable coarray or has a subobject that is an allocatable coarray." {08-158, m184} [99: 5.3.18p1 C556] Subclause "VALUE attribute", first constraint, at the end of the sentence insert "that is not a coarray and does not have a coarray ultimate component". {08-265r1, m185} [109:5.7.1.1, C583] After "dummy argument," insert "result variable name,", and delete "a function name, \obs{an entry name}, a result name,". [same place] After "that has an allocatable" insert "or pointer", and delete "an object of a derived type that has a pointer at any level of component selection". [same place] After "an automatic object," insert "a coarray,". {08-264/EDIT, m185} [110:C585] Delete C585 entirely. {08-264/EDIT, m185} [112:5.7.2.1, C597] After "dummy argument," insert "result variable,", Delete "a function name, \obs{an entry name},", Before "a coarray" insert "or", Delete ", or a result name". {08-264/EDIT, m185} [119:6.5.2p2] After "assumed-size array" insert "(5.3.8.2)", viz "\ref{D5:Assumed-size array}". {08-170, m184/EDIT} [124:C626] "nonprocedure pointer" -> "data pointer". {08-264/EDIT, m185} [128:6.6.3.1p5+] Before Note 6.22, insert new paragraph "When more than one allocated object is deallocated by execution of a DEALLOCATE statement, the order of deallocation is processor dependent." {08-153r3, m184} [129:6.6.3.2p12+] At end of subclause, insert new paragraph "When more than one allocated object is deallocated by the occurence of an event described in this subclause, the order of deallocation is processor dependent." {08-153r3, m184} [149:7.1.11p4(4)] After C_SIZEOF insert a space. {08-264/EDIT, m185} [154:7.2.1.3p13] Change "non-coarray" to "noncoarray". {m184/EDIT} [163:7.2.4.1p2] Near the end of the paragraph, replace "; it" by ". It". {08-264/EDIT, m185} [171:8.1.4 C806] Delete "or". After "OPTIONAL" insert ", statement function, or VALUE". {08-144r2, m184} [175-181:8.1.7] Index "DO construct" throughout, not just the start. Unindex "construct!DO construct". Unindex "DO CONCURRENT" - it occurs on exactly the same pages as "DO construct", indexing it separately achieves virtually nothing. {08-264/EDIT, m185} [175:8.1.7.1p2] Replace "may be" by "can be", thrice. {08-264/EDIT, m185} [187:8.5.1p2] Subclause "Image control statements", 6th bullet point, Delete ", END BLOCK,", Insert another item "\item Any statement that completes execution of a block (8.1.2.2) and results in implicit deallocation of a coarray." {08-152r2, m184} [188:8.5.1 Note 8.31] Change "non-volatile" to "nonvolatile". {m184/EDIT} [220:9.6.4.7.3p1] Subclause "Defined input/output procedures", append to p1 "The s for these procedures are READ(FORMATTED), READ(UNFORMATTED), WRITE(FORMATTED), and WRITE(UNFORMATTED), for formatted input, unformatted input, formatted output, and unformatted output respectively." {08-159r1, m184} [225:9.6.4.7.4p1] Subclause "Resolving defined input/output procedure references", replace the reference "9.6.4.7" [\ref{User-defined derived-type input/output}) with "9.6.4.7.3" [\ref{Defined input/output procedures}]. {08-159r1, m184} [225:9.6.4.7.4p4] Last paragraph, delete last sentence: "This reference shall not be ... disassociated procedure pointer." {08-159r1, m184} [271:11.2.3p1] Unembolden "descendant". {m184/EDIT, see p14 and INDEX edits relating} [276:12.4.3.2 C1202] Delete first sentence of constraint "The shall be included ... ." {08-157r2, m184} [277:12.4.3.2p1] In the first sentence, replace "the procedures" with "each procedure". Delete the second sentence "Such a specific ... procedures." {08-157r2, m184} [277:12.4.3.2p7] Reword the first sentence, by moving "for an external procedure" from the end of the sentence to be after "explicit specific interface". In "\obs{An interface for a procedure named by an ENTRY... body.}" replace "named" by "defined". {08-157r2, m184} [292:12.5.2.6p2+] Subclause "Allocatable dummy variables", insert new paragraph "The corank of the actual argument shall be the same as that of the dummy argument." {08-162r2, m184} [292:12.5.2.8] Replace subclause title "Coarray arguments" with "Coarray dummy variables". {08-162r2, m184} [292:12.5.2.8p1] Delete the second sentence "If the dummy argument is an allocatable ... same rank and corank." {08-162r2, m184} [299:12.5.5.2p1,p2] After "either is" insert "defined", twice. {08-222r3, m185} [300:12.5.5.3p1,p2] Delete "interface body or" twice. {08-179r1, m184} [300:12.5.5.3p2] After "dummy argument of the scoping unit" Insert "and not the name of a procedure pointer". {08-179r1, m184} [300:12.5.5.3p2+] insert new paragraph "If the scoping unit contains an EXTERNAL attribute specification for the name and the name is a procedure pointer, the reference is to its target." {08-179r1, m184} [300:12.5.5.3p3] After \obs{statement function} insert \obs{statement}. {08-179r1, m184} [300:12.5.5.3p4] After "intrinsic" insert "procedure". {08-179r1, m184} [300:12.5.5.3p5] Before "accessible", Insert "that is not the name of a procedure pointer". {08-179r1, m184} [300:12.5.5.3p5+] Insert new paragraph "If the scoping unit contains a USE statement that makes a procedure pointer accessible by that name, the reference is to its target." {08-179r1, m184} [303:12.6.2.2] Index "result variable". Actually, index "result variable" throughout the document. {08-264/EDIT, m185} [319:Table 13.1] In the the entry for IS_CONTIGUOUS, change "A"->"ARRAY" (in the Arguments column), and change "object" -> "array" (in the Description column). {08-253, m185} [358:13.7.86] In the subclause for "IS_CONTIGUOUS (A)", change "A" to "ARRAY" in the subclause title and in paragraphs 3 and 5, change "object" to "array" in paragraph 1. {08-253, m185} [335:13.7.34p3] "integeror" -> "integer,". {08-264/EDIT, m185} [336:13.7.34p5] Change "AIMAG (X, KIND)" to "AIMAG (X)". {08-184, m184} [387:17.7.155p3] After "ARRAY" change "a scalar or array" to "an array". {08-264/EDIT, m185} [439:16.2p1] Change "non-submodule program unit, common block, or external procedure" To "common block, external procedure, or program unit that is not a submodule" {m184/EDIT} [448:16.5.2.7] In "The definition status of a pointer is that of its target." Change "a pointer" to "an associated pointer". Append to paragraph "The definition status of a pointer that is not associated is undefined." {m184/EDIT} [459:A.2] Delete first bullet item "whether an external ...". {08-145/EDIT, m184, The editor notes: see below for replacement.} [459:A.2] After the item beginning "whether an array is continguous", Insert new item "\item the order of deallocation when several objects are deallocated by a DEALLOCATE statement (6.6.3.1) or the occurence of an event described in 6.6.3.2;" {08-153r3, m184} [460:A.2] After item "the set of allowable names for a file (9.3);" Insert new item "\item whether a named file on one image is the same as a file with the same name on another image (9.3.1);" {08-145/EDIT, m184} ===END===