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.