Supplementary change document ISO/IEC JTC1/SC22/WG5 N683 This document contains the complete list of changes passed at the [1991] London meeting. It is based on the Addendum produced at meeting 117 of X3J3; the Canadian, UK, and German comments accompanying their ballots on DIS1539; and other sources. All item numbers refer to S19 in N606 and N634 (where the two differ, we give edits for both). A whole number refers to a replacement, modification, or deletion of an S19 item; a number with a decimal part is an additional change. A Canadian edit is also identified in parentheses by its ballot number (in the range 1 to 104). An additional edit from N625 (addendum to S19) is also identified in parentheses by its number (in the range 273 to 343). Other edits have an item number ending with a lower-case letter. 5. (Replacement, USA). Replace the date and page numbers on all other pages by running Arabic numbers starting with 1 on p. 1-1 to 338 on p. F-7. The number appears on the left of even-numbered pages and the right of odd-numbered pages. 11. (USA) Delete this item. Reason: unnecessary. 17.1 (273) v/1. "Subcommittee X3J3" becomes "American Information Technology standards committee X3, information processing systems, technical subcommittee X3J3". Reason: clarification. 18.3 (UK) v/5. Change "assumed ... leadership" to "served as officers". Reason: The subgroup heads table is deleted by item 18 of N606. 20.1 (276) xv. Set "FIGURES" and "TABLES" as "Figures" and "Tables" left justified. Reason: ISO rules. 24. (Replacement, USA) 1-1/1 and throughout Sections 1 and 2: change "standard" followed by a blank or a punctuation mark(.",:) (but not by a hyphen) to "International Standard", except on lines 1-2/21, 33 (second occurrence), 43, 1-3/15, 1-5/28 (twice). Reason: ISO rules. 24.1 (277) 1-1/4. Delete sentence "The foreword ..." Reason: ISO rules. 25.1 (278) 1-1/34. "2.2.2" becomes "2.2.1". Reason: error. 25.2 (279) 1-2/7,9,14. "within a submitted program" becomes "within a submitted program unit" 1-2/16. "program" becomes "submitted program". 26.2 (7) 1-2/38. Replace "dependent. The facility" with "dependent, and they". Reason: grammar. 26.3 (8) 1-2/42 Add a comma after TRAN 77. Reason: grammar. 26.4 (UK) 1-3/5,6. Move reference on line 6 to follow "specifies" on line 5. Reason: clarification. 26.5 (280) 1-3/7-8. "values" becomes "characters" (2x). Reason: conform to F77. 26.6 (UK) 1-3/9,11. Move reference on line 11 to follow "specifies" on line 9. Reason: clarification. 26.7 (UK) 1-3/10. Change "values" to "characters", for consistency with the same change on lines 7 and 8. Reason: goes with 26.5. 26.8 (9) 1-3/11 After ")" add ".". Reason: grammar. 26.9 (10) 1-3/46. Change the word "Appendix" to "Annex". Reason: ISO rules. 26.10 (11) 1-4/6 Insert "the" before "syntax". It is an illustration of 'the' syntax rules in 'this' document; not syntax rules in general. Reason: grammar. 26.12 (13) 1-5/31 Replace "of the" with "of this". Reason: resolves ambiguity. 27.1 (281) 1-5/36. Add "," after "1988" and "." at end of line. Reason: ISO rules. 28. (Replacement) 1-5/37. Replace by 'ISO 646:1983, Information processing - ISO 7-bit coded character set for information interchange.' Reason: ISO rules. 28.1 (282) 1-5/38. Add "." at end of line. Reason: ISO rules. 29.1 (283) 2-3/17. "execution-part-construct" becomes "execution-part". Reason: error. 39. (Replacement, USA) 2-7/17. "has a value that can become" becomes "may have a value and may be". Reason: better fix to error. 40. (Replacement, USA) 2-7/19. "that" becomes "and". 2-7/22-23. "has a value ... but that" becomes "is a portion of a constant. The portion referenced". Reason: better fix to error. 41. (USA) Delete this item. Reason: unnecessary. 43.1 2-7/45. Delete "with a name ... The pattern.". Reason: incorrect use of the word subscript. 43.2 (15) 2-7/46. Change "size" to "number of elements". Reason: The next line (2-8/1) clearly defines 'size' to mean the total number of elements. Putting 'size' here might cause confusion. 45.1 (16) 2-8/22 Replace "If it" to "If the pointer". It needs to be clear that it is the pointer and not the target. Reason: resolves ambiguity. 46. (USA) Delete this item. Reason: unnecessary. 47. (USA) Delete this item. Reason: unnecessary. 48.2 (UK) 3-1/24-26. Delete 'However ... (9.6.1.6).'. Reason for change: the present wording does not cover all the cases and they are explicitly covered in sections 9 and 10. 48.a 3-4/4. Remove sentence "Any ... labeled.". Reason: It is incorrect for fixed source form and we do not really need it here. 53.a 3-5/31+ Add 'A ";" separator that is the last nonblank character on a line, or the last nonblank character ahead of commentary, is ignored.' Reason: resolves an ambiguity. 53.b 3-6/19+ Add 'A ";" separator that is the last nonblank character on a line, or the last nonblank character ahead of commentary, is ignored.' Reason: resolves an ambiguity. 55. (USA) Delete this item. Reason: unnecessary. 62. (Modification). Delete 'scalar integer' in the S19 text. 62.1 (285) 4-5/4. "is" becomes "must be". Reason: incorrect use of language. 62.2 4-5/8-11. Delete lines 8-9. On line 4-5/11+ add 'If the type keyword COMPLEX is specified and the kind type parameter is not specified, the default kind value is the same as that for default real, the type of both parts is default real, and the data entity is of type default complex.' Reason: there appears to be an inconsistency here. Consider the complex constant (1D0, 2D0). According to line 8-9, this object must have type default complex, since a kind type parameter is not specified. But according to lines 17-22 (even edited as per S19), this constant has the kind type parameter of the double precision real kind, which is not the same as the kind type parameter for the default complex type. The new text is explicit and corresponds to that for default real. 63.a 4-6/17. Before 'and' add '(without intervening blanks)'. Reason: Used everywhere else with 'consecutive' in this and the next paragraph. 62.3 4-7/4-9. Use the same amount of space in the four occurrences of ' '. 63. (Modification). Add 'value' after first 'parameter'. Reason: word that was present in S8.115 omitted accidently. 65. (USA) Delete this item. Reason: unnecessary. 72. (Replacement). 4-7/43. Replace "components" by "ultimate components". Reason: Fixes error in use of components and defines term. 74.1 (286) 4-9/21. "PRIVATE" becomes "private". Reason: consistency. 75. (USA) Delete this item. Reason: unnecessary. 75.1 (287) 4-12/12. ", order, and rank" becomes "and order". 78. (USA) Delete this item. Reason: unnecessary. 81.1 (23) 5-2/16. Add "allocatable arrays," before "functions". Reason: Allocatable arrays should also be forbidden from having the PARAMETER attribute. 81.a 5-2/28. Replace line with 'Constraint: The value of scalar-int-initialization-expr must be nonnegative and must specify a representation method that exists on the processor.' 81.4 (24) 5-3/4 Change "object name" to "object-name". Reason: see text on 5-3/2. 81.a 5-3/5+. Move the paragraph at 5-13/43 to here. Reason: It has nothing to do with the DATA statement. 82.1 (25) 5-3/31 Change "that entities" to "that all entities". Reason: see text on 5-3/21 and 5-3/26. 83. (Modification to N634 version only). Each "or" line in S19/83 should be enclosed in single parentheses. Reason: Error in N634 only. 84.a 5-4/10+. Add 'Constraint: The value of scalar-int-initialization-expr must be nonnegative and must specify a representation method that exists on the processor.' 86.1 5-5/28. Change specification-part' to 'scoping unit'. Reason: We did not mean to allow it in an interface block and have it right on 5-10/15. 88.1 5-7/24. Delete 'or' and add ', or a TARGET statement (5.2.8)' before '.'. Reason: current text incomplete. 88.2 5-7/32-33. Add 'or' before 'a DIMENSION' and delete ', or a COMMON statement (5.5.2)'. Reason: Syntax for COMMON does not allow a deferred-shape-spec. 90.1 5-9/16. Replace "a" by "an accessible". Reason: Otherwise, the compiler has to assume that everything in COMMON has the TARGET attribute, defeating the purpose of the attribute. 90.a 5-9/34. After "restrictions" add "as for type declaration statements". 90.b 5-9/35. Add "This also applies to EXTERNAL and INTRINSIC statements.". 90.c 5-10/18. Delete 'nonintrinsic'. 90.d 5-10/18-19. Delete 'generic procedure,'. Reason: Now included in generic-spec >. 93.a 5-10/43. Delete 'a namelist group name,'. Reason: Our syntax convention means that namelist groups are anyway excluded, since they are not objects. Including this as a constraint makes the reader think that he or she does not understand the convention. We do not exclude namelist groups explicitly elsewhere, e.g. for POINTER and TARGET statements. 92.1 (28) 5-12/4 After "for" add "an". Inc: see text on 5-12/1,15. Reason: grammar. 92.2 5-12/23. Change "is typed implicitly" to "has not been typed previously". Reason: needed for the IMPLICIT NONE case. 92.a 5-12/26. Change 'declaration' to 'specification'. Reason: This is the term we use. 94. (Replacement). 5-13/1. Replace the line by "Constraint: The array-element must not have a constant parent. Constraint: The structure-component must not have a constant parent." Reason: Using two sentences makes it unambiguous and clear and allows the use of "must". 94.a 5-13/8+. Add 'Constraint: If a data-stmt-object is an array element, an array section, or a substring, each subscript, section subscript, substring starting point, and substring ending point must be an initialization expression.' Reason: otherwise the DATA object may have a non-constant subscript. 95.2 5-13/15. Change '.' to ', and each operation must be intrinsic'. Reason: We intend DATA statements to be executed at compile time, without access to defined operators. 97.a 5-16/24-25. Change 'nonconstant bounds' to 'a nonconstant bound'. Reason: It might have only one. 97.b 5-16/25. Change 'assumed' to 'nonconstant'. Reason: Presumably, we meant to exclude explicitly declared but variable character lengths. 97.c 5-16/36-37. Replace by 'A namelist group object must either be accessed by use or host association or must have its type, type parameters, and shape specified by previous specification statements in the same scoping unit or by'. Reason: as the standard stands it does not allow properties to be given by anything but type declaration statements and secondly does not allow use association. 97.4 5-17/16. After 'constant' add ', a structure component'. Reason: Unless we make this edit, we will need text to explain what happens in various nasty situations such as when an EQUIVALENCE tries to lengthen a component of a structure or when a component of a structure of one type is equivalenced to a component of a structure of another type, possibly through an innocent intermediary. It was felt that it was never intended that this should go in and that nothing should be added at this point (future Fortrans can add it). 99.1 5-18/19-31. Delete these lines. Reason: Lines 19-20 deal with a possibility that cannot exist. (see 11-3/21-26 and 149.1 edits). It is therefore not possible to write an example. 99.a 5-19/13. After 'list' add 'in a scoping unit'. 99.3 (UK) 5-20/2. Add "storage" before "associated". 99.b 5-20/23-27. Replace lines by 'A common block may be declared in the scoping unit of a module (11.3). If it is, it must not be declared in another scoping unit that accesses entities from the module by use association.'. Reason: This is a hole that needs fixing. The last sentence is very misleading. If a name is used in this way, it is the name of a local entity and the host entity is inaccessible (11-3/21-26). 99.5 (UK) 6-2/1. Change "(2.4.6)" to "(2.4.4)". Reason: error. 102.2 (32) 6-3/20 Err: Change "2.4.7" to "2.4.5". Reason: error. 112. (USA) "the ALLOCATE" in S19/112 becomes "the ALLOCATABLE" (done by hand in N606). Reason: error. 112.1 (UK) 6-6/21-22. Delete "Constraint:" Move "The ... appears." to precede line 34 6-7/31. Delete "Constraint:" Reason: This "un-constraints" the rule (which remains, but not as a constraint) that a STAT variable must not be ALLOCATEd/DEALLOCATEd in the same statement. Needed for cases such as ALLOCATE ( A(I)%J(LEN), STAT=A(K)%J(1) ) which is legal unless I and K have the same value. 114. (Replacement, USA) 6-7/10. After 'target.' add 'Allocation of a pointer creates an object that implicitly has the TARGET attribute.' 115.1 (291) (36) 6-8/15. Change "(2.4.3.2)" to "(2.4.3.1)". Reason: In S8.114, this used to be a reference to section "2.4.3.2 Subobjects", but in DIS 1539 this section is now a part of section "2.4.3.1 Data Object". 116.1 (292) 6-8/29+ (new paragraph). "When a pointer target becomes undefined by execution of a RETURN or END statement, the pointer association status (14.6.2.1) becomes undefined." 117.a 7-5/40. Change 'NEQV.' to '.NEQV.'. Reason: error. 118. (Modification to N634 version only). "defined-binary-op" in S19/118 becomes "defined-binary-op,". (Error in N634 only.) 118.1 (293) 7-6/22. Delete "(4.3)". Reason: error. 120. (Replacement) 7-7/41, 7-8/17, 7-9/15. Add "," after ")". Reason: grammar. 118.a 7-8/21+ Add 'Constraint: An initialization-expr must be an initialization expression.' 118.b 7-8/22+ Add 'Constraint: A char-initialization-expr must be an initialization expression.' 118.c 7-8/23+ Add 'Constraint: An int-initialization-expr must be an initialization expression.' 118.d 7-8/24+ Add 'Constraint: A logical-initialization-expr must be an initialization expression.' 119. (modification). Change the edit for to 7-9/1 to: After 'argument' add 'that has neither the OPTIONAL nor the INTENT(OUT) attribute, or a variable that is a subobject of such a dummy argument'. 121.1 (294) (37) 7-9/26 "it" becomes "its". Reason: grammar. 121.a 7-10/43. Before "if" add ", or to evaluate entirely each operand,". 121.4 (39) 7-15/20. Change "(3.1.7)" to "(4.3.2.1.1)". Reason: section 3.1.7 does not exist. 121.6 (296) (40) 7-16/12 Add "and" at the end of the line. Reason: grammar, see the text on 7-16/21. 124. (USA) Delete this item. Reason: typography will probably change. 125. (Replacement, USA) 7-19/14-15. Change 'that has ... (12.3.2.1)' to 'and an interface block (12.3.2.1) that specifies ASSIGNMENT(=)'. 125.1 (UK) 7-19/36+. Add "For a logical intrinsic assignment statement, variable and expr may have different type parameters, in which case the value of expr is converted to the type parameter of variable." 125.2 (298) 7-21/1. "have ... numeric" becomes "both be numeric, both be of type logical, or both be of type character with the same kind type parameter value". Reason: To allow for characters of differing kinds. 128.1 (41) 7-21/21. Replace the second reference "7.5.1.5" by "7.5.1.6". Reason: error. 129.1 (299) 7-22/21-22. Replace with the following: "If a nonelemental function reference occurs in the expr of an assignment-stmt, the function is evaluated without any masked control by the mask-expr; that is, all of its argument expressions are fully evaluated and the function is fully evaluated. If the result is an array and the reference is not within the argument list of a nonelemental function, elements corresponding to true values in mask-expr (false in the mask-expr after ELSEWHERE) are selected for use in evaluating each expr." 129.2 (300) 7-22/23. After "assignment-stmt" add "and is not within the argument list of a nonelemental function reference". Reason: 129.3 (301) 8-4/21. Delete line. 130. Delete this item. Reason: unnecessary. 130.1 (44) 8-6/23 Change "does not so specify" to "is not identified by". Reason: see the text on 8-2/15, 8-3/28 and 8-6/21. 130.a 8-8/44-45. Replace 'zero' by 'zero, or the scalar-logical-expr is false,'. Reason: We need to cover WHILE termination, too. 130.2 (45) 8-10/13 Replace "unless" with "or until". The loop in the example is a type of repeat...until loop and the word "unless" does not clearly imply that you do not mean "cycle". Reason: correction. 130.b 8-11/46-47. On line 46, change first comma to 'or' and delete ',or a do-term-shared-stmt'. On line 47, add 'It is permissible to branch to a do-term-shared-stmt only from within its inner-shared-do-construct.' 130.c 8-12/2,3. Delete 'Any ... but' and change 'only' to 'Only'. 131. (Replacement, USA) 8-12/25, 29. After "be" add "named and" (twice). Reason: error (consistency with F77). 131.1 (302) (46) 8-11/16. Change "Example 3" to "Example 4". Reason: error, example 8 is similar to example 4 but not to example 3. 131.2 (47) 8-13/20 Change "digits are" to "digits in the stop code are". Reason: see the text on 8-13/25. 131.3 (303) 9-1/37-38. "when ... and:" becomes "when the most recent data transfer statement referring to the file is a data transfer output statement, no intervening file positioning statement referring to that file has been executed, and:". 131.a 9-1/41-42. On line 41 change 'or' to ','. On line 42, before '.' add ', or implicitly by another OPEN statement for the same unit'. 131.b 9-2/36, 9-2/37. Change "accessed" to "accessible". Reason: the first record accessed depends on the POSITION specifier on OPEN and on any file positioning statements preceding the access. 131.c 9-4/44-45. Change 'as though ... (10.6.6)' to 'in the same way as for an external file opened with a BLANK= specifier having the value NULL'. Reason: If the 'initial BN edit descriptor' is considered to be inserted after the first left parenthesis of the format specification, then it would take effect on reversion of format control to that left parenthesis. Also, page 10-12 lines 17-18 use the BLANK=NULL analogy. 131.4 (304) 9-5/12. "char-variable" becomes "default-char-variable". Reason: error. 131.5 (305) 9-8/34. Delete ", PRINT, " 131.d 9-10/21. Delete line and renumber the list. Reason: A relic of the past. 132.a 9-14/13+. Add para: 'If an input item or an output item is an allocatable array, it must be currently allocated.' 132.b 9-14/18. After 'once', add 'in an input-item'. Reason: Ambiguous at present. 132.1 (UK) 9-14/22. Change "(A)" to "(A,1)" twice. Reason: LBOUND(A) and UBOUND(A) are vectors (of length 1) and thus cannot be used as section subscripts. What is intended and required is the actual (i.e. scalar) lower & upper bounds of vector A. 132.c 9-15/16. Before 'list' add 'input'. Reason: To distinguish from io-control-spec-list items which also occur in a READ statement. 132.2 (307) 9-15/20. "terminates" becomes "terminates and any implied-DO variables become undefined". 132.d 9-16/21+. Add 'A character item of zero character length is treated as an effective item.' 132.e 9-17/40-41. Replace 'the input list and format specification' by 'an input item and its corresponding data edit descriptor'. Reason: See 9-13/16-18. 132.f 9-18/43. Add: 'A file that is connected with an ACTION= specifier having the value READ must not be referred to by an ENDFILE statement.' 133. (USA) Delete this item. Reason: unnecessary. 133.1 (306) 9-22/12. "the value ... of the file" becomes "the value of the record length of a file connected for direct access, or the value of the maximum record length for a file connected for sequential access". 133.a 9-22/37. Change to 'so that its endfile record is the next record or at its terminal point if it has no endfile record.' Reason: resolves an ambiguity. 134.1 (308) 10-3/32. "one list" becomes "one effective list". 134.2 (309) 10-3/34. Delete "or length". 136.1 (310) 10-5/48. "string of" becomes "string of one or more". 137.a 10-12/18. Change "NULL" to "'NULL'". 137.b 10-12/45. After 'literal constant' add 'with no kind type parameter specified'. 138.a 10-14/44. Before 'nondelimited' add 'adjacent'. 140.a 10-15/20. Replace by '(2) Are not separated from each other by value separators,'. 140.b 10-16/6. After 'literal constant' add 'with no kind type parameter specified'. 140.c 10-16/26. After 'literal constants' add 'with no kind type parameters specified'. 141.a 10-17/3. After ',except as noted' add 'in 10.9.1.3'. 141.b 10-17/16. Change 'corresponding' to 'next effective'. 142.a 10-17/35-39. Change 'list item' to 'next effective item', five times. Reason: error. 143. (Replacement, USA) 10-18/16. Add 'I = 6,' after 'X(3:4) = 2*1.5,'. 144.a 10-18/31. After 'real' add ', character,'. Reason: error. 144.b 10-18/32. Before 'non-' add 'adjacent'. Reason: error. 144.c 10-19/9. Replace by '(2) Are not separated from each other by value separators,'. Reason: error. 144.d 10-19/27-29. Change 'one or more' to 'a list of', and delete '; however, ... record.' Reason: There is no good reason to make the zero-length list case exceptional. 145. (USA) Delete this item. 149.1 (UK) 12-1/36-39. Replace "Any ... specification." by "If an entity that is accessed by use association has the same nongeneric name as a host entity, the host entity is inaccessible. A name that appears in the scoping unit as an external-name in an external-stmt is a global name and any entity of the host that has this as its nongeneric name is inaccessible. A name that appears in the scoping unit as (1) A type-name in a derived-type-stmt; (2) A function-name in a function-stmt, in a stmt-function-stmt, or in an entity-decl in a type-declaration-stmt; (3) A subroutine-name in a subroutine-stmt; (4) An entry-name in an entry-stmt; (5) An object-name in an entity-decl in a type-declaration-stmt, in a pointer-stmt, in a save-stmt, or in a target-stmt; (6) A named-constant in a named-constant-def in a parameter-stmt; (7) An array-name in an allocatable-stmt or in a dimension-stmt; (8) A variable-name in a common-block-object in a common-stmt; (9) The name of a variable that is wholly or partially initialized in a data-stmt; (10) The name of an object that is wholly or partially equivalenced in an equivalence-stmt; (11) A dummy-arg-name in a function-stmt, in a subroutine-stmt, in an entry-stmt, or in a stmt-function-stmt; (12) A result-name in a function-stmt or in an entry-stmt; (13) An intrinsic-procedure-name in an intrinsic-stmt; (14) A namelist-group-name in a namelist-stmt; (15) A generic-name in a generic-spec in an interface-stmt is the name of a local entity and any entity of the host that has this as its nongeneric name is inaccessible." Reason: resolves ambiguities. 150.a 12-1/39+. Add "If a host entity is inaccessible only because a local entity with the same name is wholly or partially initialized in a DATA statement, the local entity must not be referenced or defined prior to the DATA statement." 151.1 (311) 12-2/2. "USE" becomes "Use". Reason: consistency. 151.2 (51) 12-2/19: After "PROC" add ", since Q is a dummy argument". Reason: The point to this example is seen more clearly if it is noted that Q is an argument. 157.1 (UK) 12-6/2-4 [as amended by S19 item 157]. Replace "In addition, the" with "The". Move the sentence thus modified to precede "If" on line 2. Reason: A superficial reading of the current wording indicates that the "additional" rules about dummy arguments only apply when the operator is an intrinsic operator. To avoid error/ambiguity, the rules which apply always should be given before the rules for the special case. 157.2 (UK) 12-6/24. Change "overloading" to "extending". Reason: This is the term now used. 159.1 (312) 12-7/4-5. Replace the first sentence of 12.3.2.2 by the following two sentences. "An EXTERNAL statement specifies a list of names that have the EXTERNAL attribute. A name that has the EXTERNAL attribute represents an external procedure, a dummy procedure, or a block data program unit." Reason: consistency with INTRINSIC and reference to EXTERNAL attribute. 159.a 12-8/23. After 'procedure' add 'or of a statement function'. Reason: Corrects error, see 12-17/33. 159.3 (52) 12-9/2. Before "." add "; when the interface is specified by an interface block, the name of the last argument must be PRINT". Reason: The interface could rename the dummy argument. 160. Delete this item. Reason: Unnecessary. 162. (Replacement, USA) 12-9/5-13. Start a new paragraph after the sentence "The kind ... argument" on lines 5 and 6 and before "Except" on line 13. Reason: clarification. 170.a 12-13/22. After 'or' add 'from'. Reason: A long sentence - the reader needs help. 173.a 12-14/1. Change entry-name to 'the result variable'. Reason: We surely meant to treat the result variable of an ENTRY statement in the same way as the result variable of a FUNCTION statement, see 12-12/1-5. 173.b 12-14/3. Before 'function' add 'result of the'. Reason: See line 2. 173.2 (55) 12-14/4 Add ", although their names need not be the same" before the ".". Reason: clarifies a possible difficulty. 174.1 (UK) 12-14/29-30. Delete "and it is ... (12.5.2.8)" Reason: Otherwise we cannot execute "IF (PRESENT(OPTARG))..." when it is not present! In any case, the section is about the ENTRY statement not about OPTIONAL arguments and so the text should never have been there. 174.3 (314) 12-14/30+ (new paragraph). "If a dummy argument is used in a specification expression to specify an array bound or character length of an object, the appearance of the object in a statement that is executed during a procedure reference is permitted only if the dummy argument appears in the dummy argument list of the procedure name referenced and it is present (12.5.2.8).". Reason: in F77. 177.1 (315) 12-17/18-20. After "in the scoping unit" insert: "or made accessible by use or host association" (2x) 178.1 12-17/29+. Add as new paragraph: "The definition of a statement function with the same name as an accessible entity from the host must be preceded by the declaration of its type in a type declaration statement." Reason: Without this, it may be impossible to tell whether a statement is an assignment statement for an element of a host array or is a statement function. 178.a 13-1/22-23. Change sentence to 'An argument called KIND must be specified as a scalar integer initialization expression and must specify a representation method for the function result that exists on the processor.' Reason: See 4-3/9-10. 180. Delete this item. Reason: Unnecessary. 180.1 (56) 13-3/12-13. Replace "except...also nonzero;" by "with f1 nonzero;". Reason: It is not an exception, but an additional condition. Corrects an error. 181.a 13-6/4. Move to line 1+. Reason: Not in alphabetical order. 182.1 (316) 13-12/4. "upper and lower case letters" becomes "upper- and lower-case letters". Reason: consistency. 183. (Modification). Add 13-21/25 to the first list (add "kind") and add 13-51/39 to third list (change "parameters" to "parameter"). Add: 5-20/1. Change 'parameter' to 'parameters'. 7-4/41-42. Add "kind' before 'type parameters', twice. 7-4/42-43. Add "kind' before 'type parameter', twice 7-15/7-8. Change 'type or type parameters' to 'types or kind type parameters' and change 'type and type parameters' to 'type and kind type parameter'. 7-19/22-23. Add 'kind' after 'different' and change 'type and type parameters' to 'type and kind type parameter'. 13-3/28. Change 'type and type' to 'types and kind type'. 13-21/30, 13-24/3, 13-24/8, 13-25/8, 13-25/14, 13-34/20, 13-36/36, 13-51/33. Add 'kind' before 'type parameter'. 14-5/2. Add 'kind' before 'type parameter'. Reason: These were missed in S19, edit 183. 184.1 (317) 13-13/21. "It must not be an optional dummy argument of the procedure in which the ALL function reference appears." Reason: fixes error. 185. Delete this item. 185.1 (318)13-14/24. "It must not be an optional dummy argument of the procedure in which the ANY function reference appears." Reason: see 184.1. 186.2 (61) 13-17/20 Replace "sequence" with "sequence associated with the specified kind type parameter". 186.4 (319) 13-18/40. "It must not be an optional dummy argument of the procedure in which the COUNT function reference appears." Reason: see 184.1. 193.1 (321) 13-24/25. "integers" becomes "default integers" Reason: fixes error. 193.2 (68) 13-25/22-23 Change "ANSI X3.4-1986 (ASCII)" to "ISO 646:1983 (International Reference Version)". Reason: ISO rules. 196. Delete this item. 197. Delete this item. 199.3 (320) 13-30/12. "It must not be an optional dummy argument of the procedure in which the LBOUND function reference appears." Reason: see 184.1. 199.4 (322) 13-30/17-20. "LBOUND(ARRAY,DIM)" becomes "For an array section or for an array expression, other than a whole array or array structure component, LBOUND(ARRAY,DIM) has the value 1; otherwise, it". Delete sentence starting "For". Reason: an array is an array expression. 201. (USA) Delete this item. 201.a 13-35/17+, 13-37/33+. Add 'An element of the result is undefined if the processor cannot represent the value as a default integer.' Reason: The default integer might be very short so that large arrays would need nondefault integers for subscripting. 202.1 (73) 13-35/19. Change "2,4,6" to "2,6,4,6" and change "3" to "2". Reason: to demonstrate the multiple largest case. 202.1 (323) 13-35/30. "It must not be an optional dummy argument of the procedure in which the MAXVAL function reference appears." Reason: see 184.1. 203. Delete this item. Reason: Unnecessary. 203.2 (76) 13-37/35 Change "2,4,6" to "4,3,6,3" and change "1" to "2". Reason: clarity. 203.3 (324) 13-38/5. "It must not be an optional dummy argument of the procedure in which the MINVAL function reference appears." Reason: see 184.1. 207. (Modification, USA) In S19/207, "then" becomes ", ", "*" becomes "×". In N634 only, "/=" becomes "≠" and "<=" becomes "≤" (twice). Reason: consistency. 209.1 (325) 13-42/2. "It must not be an optional dummy argument of the procedure in which the PRODUCT function reference appears." Reason: see 184.1. 216.1 (326) 13-50/10. "It must not be an optional dummy argument of the procedure in which the SUM function reference appears." Reason: see 184.1. 217.4 (327) 13-52/9. "It must not be an optional dummy argument of the procedure in which the TRANSFER function reference appears." Reason: see 184.1. 218 (modification). 13-52/34. At end of line change "[." to "].". 218.a 13-53/5. Change 'of' to 'as'. 218.3 (328) 13-53/21. "It must not be an optional dummy argument of the procedure in which the UBOUND function reference appears." Reason: see 184.1. 218.4 (329) 13-53/26-29. "UBOUND(ARRAY,DIM)" becomes "For an array section or for an array expression, other than a whole array or array structure component, UBOUND(ARRAY,DIM) has a value equal to the number of elements in the given dimension; otherwise, it". Delete sentence starting "For". Reason: see 199.4. 221.a 14-1/21. Change second 'procedures' to 'identifiers'. Reason: We no longer have 'generic procedures'. 221.1 (330) 14-1/26-28. Replace with "Except for a common block name (14.1.2.1) or an external function name (14.1.2.2), a name that identifies a global entity in a scoping unit must not be used to identify a local entity of class (1) in that scoping unit." Reason: grammar. 221.b 14-1/30. Change 'procedures' to 'names'. Reason: The term generic procedure is not defined. The term generic name is defined on page 12-5 line 24. 221.3 (UK) 14-2/21. Add, after "operator", "and the same number of arguments". Reason: The standard currently thinks that a unary and binary operator may be ambiguous -- unambiguity relies on "a dummy argument that corresponds by position" with one of a different type etc. but *NOT* one which is not present (unlike the generic name case); e.g. INTERFACE OPERATOR (+) LOGICAL FUNCTION L1PLUS(L) LOGICAL,INTENT(IN)::L END LOGICAL FUNCTION L2PLUS(L1,L2) LOGICAL,INTENT(IN)::L1,L2 END ENDINTERFACE L1 corresponds with L (but is of the same type so is not a "disambiguitor") L2 does not correspond with any argument, much less with one of a different type, so is also not a "disambiguator". 223.a 14-3/7, 14-3/20, 14-3/22, 14-3/37. Change 'statement with' to 'attribute specification for'. 223.b 14-3/39. Change 'contained in an' to 'specified to have the' and change 'statement' to 'attribute'. 223.c 14-4/5, 14-4/10, 14-4/14. Change 'statement with' to 'attribute specification for'. 223.d 14-4/27. Change 'is' to 'as'. 225.1 (UK) 14-6/10-23. Each list item should commence with a capital letter and on lines 15, 19, and 20, delete "or". 230.2 (331) 14-10/44. "error or end-of-file condition" becomes "error condition, end-of-file condition, or end-of-record condition" 231. (Modification, USA). In S19/231, "Technical Terms" becomes "technical terms". In N634 only, the text should be centered. Reason: ISO rules. 231.1 (392) A-1/2,4. "standard" becomes "International Standard" (twice) Reason: ISO rules. 231.2 (333) A-1/7 and globally. Replace "." after entry name by " :" Reason: ISO rules. 231.3 (334) (91) A-1/7. Add reference "(2.1)" 232.3 (92) A-1/21 Err: Change "always variables" to "never constants". The note states that "in FORTRAN 77, arrays were always named and always variables", yet the note on A-8/6 states that "in FORTRAN 77, a variable was always scalar"! 232.4 (336) (91) A-1/43. Add reference "(3.1)". 233.1 (337) (91) A-2/15. Add reference "(4.3.2.1.1)". Reason: consistency. 236.1 (339) (94) A-3/18. "(2.4.8)" becomes "(2.4.6)". Reason: error. 236.2 (338) (95) A-3/19. "." becomes ", or following pointer association with a disassociated pointer." Inc: see the definition on 2-8/20-21. 238.1 (340) (91) A-4/23. Add reference "(13.1)". Reason: consistency. 238.2 (341) (91) A-5/6. Add reference "(3.3.1)". Reason: consistency. 241.1 (96) A-5/40 Enclose the form of the statement in apostrophes. Reason: see the definition on A-1/27. 245. (Replacement, USA) A-7/12. Delete ", 2.4.9". "or" becomes "," After the second unit add ", or an unspecified storage unit". 246. (Replacement, USA) A-7/15. "structure" becomes "data object of derived type". Set the final "type" in Roman. Reason: consistency. 246.1 (UK) A-8, 0+. Add "ultimate component (4.4). For a derived type or a structure, a component that is of intrinsic type or has the POINTER attribute, or an ultimate component of a component that is of derived type and does not have the POINTER attribute." 250.1 (342) C-1/32. "99999" becomes "any of them". 252.2 (102) C-5/16 Change "The pointer" to "The POINTER". 253.a C-16/56. Change 'ASIS, or UNDEFINED' to 'ASIS, UNDEFINED, or a processor-dependent value'. Reason: See 9-22/35. 254. (USA) Delete this item. 265. Delete this item. 265.a C-25/9. Add ')' before '>'. 265.b C-27/4. Before "an" add "or only partially evaluating". 265.1 (UK) C-28/25. After "PB", insert "(:)". Reason: PB must be of rank 1 and deferred shape to be used in the pointer assignment statement on line 27. 265.2 (104) C-29/14 Err: Change "2.4.7" to "2.4.5". Reason: consistency. 266.a C-30/4-5. After '77 intrinsic functions' add 'except LEN' and after 'language' add ', except REPEAT and TRIM,'. 269.1 (UK) C-34/11. Change "RANDOM" to "RANDOM_NUMBER". Reason: Wrong name of intrinsic subroutine. 270. Delete this item. 272.1 (343) D-1/3. "standard" becomes "International Standard" Reason: ISO rules.