PC File: 95-006-1.edt Archive: 95-006r1.edits -------------------------------------------------------------------------------- xvi 1 00000a 27 a Minor edits and corrections for Technical Corrigendum #1 xvi 1 00000a 27 b Published xvi 1 00000a 27 c 1. Introduction, Overview, Data Concepts, last sentence [xvi:1-2]; xvi 1 00000a 28 c Delete the sentence "The section concludes ... names." 3 32 000061 500 a G edit descriptor with "d" = 0 3 32 000061 500 b Published 3 32 000061 500 c 3. In section 1.4.1, add item (5) as follows: [3:32] 3 32 000061 501 c 3 32 000061 502 c (5) A value of 0 for a list item in a formatted output statement will be 3 32 000061 503 c formatted in a different form for some G edit descriptors. In addition, 3 32 000061 504 c the Fortran 90 standard specifies how rounding of values will affect the 3 32 000061 505 c output field form, but FORTRAN 77 did not address this issue: therefore, 3 32 000061 506 c some FORTRAN 77 processors may produce a different output form than 3 32 000061 507 c Fortran 90 processors for certain combinations of values and G edit 3 32 000061 508 c descriptors. 8 8 000101 148 a Specification statements 8 8 000101 148 b X3J3 consideration in progress 8 8 000101 148 c 1. Section 2.1, R207 [8:8] change 'specification-stmt' to 'declaration-stmt' 8 29 000101 150 a Specification statements 8 29 000101 150 b X3J3 consideration in progress 8 29 000101 150 c 2. Section 2.1, R214 [8:29] change 'specification-stmt' to 'declaration-stmt' 11 13 000101 152 a Specification statements 11 13 000101 152 b X3J3 consideration in progress 11 13 000101 152 c 3. Section 2.3.1, following 2nd paragraph [11:13+] insert new paragraph: 11 13 000101 153 c 11 13 000101 154 c Specification statements are all the statements that can appear in 11 13 000101 155 c the , except for the ENTRY and FORMAT statements. 11 13 000101 156 c 11 13 000101 157 c note to editor: "Specification statements", above, should be in bold. 11 30 000101 159 a Specification statements 11 30 000101 159 b X3J3 consideration in progress 11 30 000101 159 c 4. Figure 2.1, [11:30] change 'Specification' to 'Declaration' 12 31 000101 161 a Specification statements 12 31 000101 161 b X3J3 consideration in progress 12 31 000101 161 c 5. In note to Figure 2.1, [12:31] change 'Specification' to 'Declaration' 15 25 00000a 30 a Minor edits and corrections for Technical Corrigendum #1 15 25 00000a 30 b Published 15 25 00000a 30 c 2. 2.4.6, third sentence [15:25]; Change "of" to "or". 16 13 000096 1445 a Definition of "Declaration" 16 13 000096 1445 b X3J3 consideration in progress 16 13 000096 1445 c 1. Replace the text of 2.5.3 "Declaration" [16:13-18] with: 16 13 000096 1446 c 16 13 000096 1447 c A data object declaration specifies the creation, attributes, and 16 13 000096 1448 c lifetime of the object. Every data object must be declared. Declarations 16 13 000096 1449 c can be explicit or contextual. Data object attributes not specified 16 13 000096 1450 c explicitly are determined implicitly. A declaration of a data object of 16 13 000096 1451 c derived type is also a declaration of all of its components. 16 13 000096 1452 c 16 13 000096 1453 c In a scoping unit, if a name appears as: 16 13 000096 1454 c 16 13 000096 1455 c (1) an object-name in an entity-decl in a type-declaration, SAVE, 16 13 000096 1456 c POINTER, or TARGET stmt 16 13 000096 1457 c (2) a named-constant in a named-constant-def in a PARAMETER statement 16 13 000096 1458 c (3) an array-name in a DIMENSION or ALLOCATABLE statement 16 13 000096 1459 c (4) a variable-name in a common-block-object in a COMMON statement 16 13 000096 1460 c (5) the name of a variable that is wholly or partially initialized in a 16 13 000096 1461 c DATA statement 16 13 000096 1462 c (6) the name of an object that is wholly or partially equivalenced in an 16 13 000096 1463 c EQUIVALENCE statement 16 13 000096 1464 c (7) a dummy-arg-name in a FUNCTION, SUBROUTINE, ENTRY or 16 13 000096 1465 c statement-function statement 16 13 000096 1466 c (8) a result-name in a FUNCTION or ENTRY statement 16 13 000096 1467 c 16 13 000096 1468 c then those statements constitute an explicit declaration of a data 16 13 000096 1469 c object with that name in that scoping unit. 16 13 000096 1470 c 16 13 000096 1471 c otherwise: if a name that is not a procedure name, module name, 16 13 000096 1472 c program name, generic identifier, common block name, namelist group name, 16 13 000096 1473 c construct name, or derived type name, appears in any statement and that 16 13 000096 1474 c name is not the name of a data object accessed by host or use association 16 13 000096 1475 c 16 13 000096 1476 c then those appearances constitute a contextual declaration of a data 16 13 000096 1477 c object with that name in that scoping unit 19 37 000058 557 a Ambiguous use of "keyword" 19 37 000058 557 b X3J3 approved; ready for WG5 19 37 000058 557 c Page 19 section 3.2.1 [19:37-38] 19 37 000058 558 c Change "Keywords" to "Statement keywords" twice. 19 37 000058 559 c Rationale: 3.2.1 is not referring to argument keywords. 21 33 000130 1444 a Multiple statements on line with END statement 21 33 000130 1444 b WG5 approved; ready for SC22 21 33 000130 1444 c Replace the first sentence of 3.3 [21:33] with: 21 33 000130 1445 c 21 33 000130 1446 c A Fortran program unit is a sequence of one or more lines, 21 33 000130 1447 c organized as Fortran statements, comments, and INCLUDE lines. 22 6 000004 358 a Blanks in format specifications in free form source 22 6 000004 358 b WG5 approved; ready for SC22 22 6 000004 358 c Section 3.3.1, second paragraph [22:6], 22 6 000004 359 c change "... character context." 22 6 000004 360 c to "... character context or in a format specification." 22 44 000121 217 a ";" As a Statement Separator 22 44 000121 217 b X3J3 approved; ready for WG5 22 44 000121 217 c 1. Section 3.3.1.2 [22:44-45], change the first sentence to read as follows: 22 44 000121 218 c 22 44 000121 219 c 'The character ";" terminates a statement, except when the ";" appears 22 44 000121 220 c in a character context or in a comment. This optional termination allows 22 44 000121 221 c another statement to begin following the ";" on the same line. A ";" 22 44 000121 222 c must not appear as the first nonblank character on a line.' 23 1 000121 224 a ";" As a Statement Separator 23 1 000121 224 b X3J3 approved; ready for WG5 23 1 000121 224 c 2. Section 3.3.1.2 [23:1-2], eliminate the last sentence of this section (it 23 1 000121 225 c becomes redundant with edit 1). 23 36 000121 227 a ";" As a Statement Separator 23 36 000121 227 b X3J3 approved; ready for WG5 23 36 000121 227 c 3. Section 3.3.2.2 [23:36-37], change the first sentence to read as follows: 23 36 000121 228 c 23 36 000121 229 c 'The character ";" terminates a statement, except when the ";" appears 23 36 000121 230 c in a character context, in a comment or in character position 6. This 23 36 000121 231 c optional termination allows another statement to begin following the 23 36 000121 232 c ";" on the same line. A ";" must not appear as the first nonblank 23 36 000121 233 c character on a line, except in character position 6.' 23 39 000121 235 a ";" As a Statement Separator 23 39 000121 235 b X3J3 approved; ready for WG5 23 39 000121 235 c 4. Section 3.3.2.2 [23:39-40], eliminate the last sentence of this section (it 23 39 000121 236 c becomes redundant with edit 3). 24 13 000044 2336 a END statement and fixed form source 24 13 000044 2336 b Published 24 13 000044 2336 c In 3.3.2.4 replace the text 24 13 000044 2337 c 24 13 000044 2338 c "and no other statement in the program unit may have an initial line that 24 13 000044 2339 c appears to be a program unit END statement" 24 13 000044 2340 c with 24 13 000044 2341 c ". A statement whose initial line appears to be a program unit END 24 13 000044 2342 c statement must not be continued." [24:13] 27 2 00000b 120 a Minor edits and corrections for Technical Corrigendum #2 27 2 00000b 120 b WG5 approved; ready for SC22 27 2 00000b 120 c 7. In 4.3.1 Numeric Types 27 2 00000b 121 c 27 2 00000b 122 c delete the last sentence "In this standard..." [27:2-3] 27 2 00000b 123 c 27 2 00000b 124 c Rationale: this is a not quite accurate restatement of R306 in section 3.2.3. 27 2 00000b 125 c ("unsigned" is not defined for boz numeric constants) 33 36 000015 968 a Error in fourth constraint for R429 33 36 000015 968 b Published 33 36 000015 968 c Replace the fourth constraint after R429 [33:36] with: 33 36 000015 969 c 33 36 000015 970 c The character length specified by the in a 33 36 000015 971 c or the in a 33 36 000015 972 c (5.1, 5.1.1.5) must be a constant specification expression (7.1.6.2). 35 39 000191 1869 a Interaction of SEQUENCE derived types and rename 35 39 000191 1869 b X3J3 consideration in progress 35 39 000191 1869 c 1. In section 4.4.2, add the following to the end of the first paragraph: 35 39 000191 1870 c [35:39] 35 39 000191 1871 c 35 39 000191 1872 c "In addition, two derived types accessible in the same scope might be the 35 39 000191 1873 c same if one or both are accessible by use association." 35 46 000191 1875 a Interaction of SEQUENCE derived types and rename 35 46 000191 1875 b X3J3 consideration in progress 35 46 000191 1875 c 2. In section 4.4.2, after the second paragraph, add the following independent 35 46 000191 1876 c paragraph: [35:46] 35 46 000191 1877 c 35 46 000191 1878 c "Note that the criterion that the two types have the same name applies 35 46 000191 1879 c to the of the respective ." 38 3 000030 307 a Length of character literals in array constructors 38 3 000030 307 b X3J3 approved; ready for WG5 38 3 000030 307 c 1. In the second constraint following R435 [38:3-4] 38 3 000030 308 c change: "the same type and type parameters." 38 3 000030 309 c to: "the same type and kind type parameter." 38 4 000030 311 a Length of character literals in array constructors 38 4 000030 311 b X3J3 approved; ready for WG5 38 4 000030 311 c 2. Add the following paragraph after the constraints in 4.5. [38:4] 38 4 000030 312 c 38 4 000030 313 c If the expressions are of type character, each 38 4 000030 314 c expression in the must have the same length 38 4 000030 315 c type parameter. 39 36 000066 754 a Declaration of FUNCTION type 39 36 000066 754 b Published 39 36 000066 754 c 1. Change R504 "{()}" to "". 39 36 000066 755 c [39:36] 40 12 000066 757 a Declaration of FUNCTION type 40 12 000066 757 b Published 40 12 000066 757 c 2. Change "Constraint: An for a that 40 12 000066 758 c does not have the POINTER attribute must be an 40 12 000066 759 c " 40 12 000066 760 c to "Constraint: An for an that 40 12 000066 761 c is a function result that does not have the POINTER attribute 40 12 000066 762 c must be an ". [40:12] 40 14 000066 764 a Declaration of FUNCTION type 40 14 000066 764 b Published 40 14 000066 764 c 3. Delete the constraint "An for a that 40 14 000066 765 c does have the POINTER attribute must be a ". [40:14] 40 24 000087 1649 a PARAMETER statements and SAVE statements 40 24 000087 1649 b WG5 approved; ready for SC22 40 24 000087 1649 c 1. Change the sixteenth constraint of section 5.1 to [40:24] 40 24 000087 1650 c 40 24 000087 1651 c The SAVE attribute must not be specified for an object that is in a common 40 24 000087 1652 c block, a dummy argument, a procedure, a function result, an automatic data 40 24 000087 1653 c object, or an object with the PARAMETER attribute. 40 38 000093 1900 a Scalar pointer function results 40 38 000093 1900 b WG5 approved; ready for SC22 40 38 000093 1900 c 2. Insert the following paragraph after the second paragraph following 40 38 000093 1901 c the constraints in 5.1 [40:38+] 40 38 000093 1902 c 40 38 000093 1903 c A function result may be declared to have the POINTER attribute. 40 39 000145 1024 a Expressions in of a FUNCTION statement 40 39 000145 1024 b X3J3 consideration in progress 40 39 000145 1024 c 1. Section 5.1, in the first sentence of the paragraph that starts 40 39 000145 1025 c "The (7.1.6.2)" [40:39-41], 40 39 000145 1026 c 40 39 000145 1027 c change "in an interface body (12.3.2.1) or in the specification part of a 40 39 000145 1028 c subprogram" 40 39 000145 1029 c 40 39 000145 1030 c to "contained in an interface body (12.3.2.1), is contained in the 40 39 000145 1031 c specification part of a subprogram, or is in the of a 40 39 000145 1032 c FUNCTION statement (12.5.2.2)" 41 8 000113 668 a Ordering of array specification and initialization 41 8 000113 668 b WG5 approved; ready for SC22 41 8 000113 668 c Section 5.1, add the following to the end of the fifth paragraph 41 8 000113 669 c following the constraints [41:8]: 41 8 000113 670 c 41 8 000113 671 c "If the variable is an array, it must have its shape specified either in 41 8 000113 672 c the type declaration statement or a previous attribute specification 41 8 000113 673 c statement in the same scoping unit." 41 9 000087 1655 a PARAMETER statements and SAVE statements 41 9 000087 1655 b WG5 approved; ready for SC22 41 9 000087 1655 c 2. In section 5.1, change the first sentence of the next to last 41 9 000087 1656 c paragraph before the examples [41:9]: 41 9 000087 1657 c 41 9 000087 1658 c The presence of = implies that is a 41 9 000087 1659 c saved object, except for an in a named common block or an 41 9 000087 1660 c with the PARAMETER attribute. 42 29 000016 997 a Character length specification 42 29 000016 997 b Published 42 29 000016 997 c Replace the text following the constraints for R508 [42:29] with: 42 29 000016 998 c 42 29 000016 999 c The in a CHARACTER and the * in 42 29 000016 1000 c an or in a of a type definition specify 42 29 000016 1001 c character length. The * in an or a 42 29 000016 1002 c specifies an individual length and overrides the length 42 29 000016 1003 c specified in the , if any. If a * is not 42 29 000016 1004 c specified in an or a , the 42 29 000016 1005 c or specified in the is the character 42 29 000016 1006 c length. If the length is not specified in a or a * 42 29 000016 1007 c , the length is 1. 43 5 000070 654 a Characteristics specified by interface bodies 43 5 000070 654 b X3J3 consideration in progress 43 5 000070 654 c In section 5.1.1.5 item (3), add to the end [43:5]: 43 5 000070 655 c 43 5 000070 656 c "Note that the interface for such a function cannot be specified in an 43 5 000070 657 c interface body." 43 6 000172 3005 a Length specified for a character-valued statement function 43 6 000172 3005 b WG5 approved; ready for SC22 43 6 000172 3005 c In 5.1.1.5 [43:6-7] change the paragraph following item (3) to: 43 6 000172 3006 c 43 6 000172 3007 c The length specified for a character-valued statement function 43 6 000172 3008 c or statement function dummy argument of type character must be a 43 6 000172 3009 c constant specification expression. 43 22 000032 1771 a Implicit declaration of a derived type 43 22 000032 1771 b Published 43 22 000032 1771 c 1. In the first paragraph of 5.1.1.7, 43 22 000032 1772 c change "is specified" 43 22 000032 1773 c to "is declared explicitly". [43:22] 43 23 000112 612 a Sequence derived type external functions 43 23 000112 612 b WG5 approved; ready for SC22 43 23 000112 612 c Add after the last sentence of the first paragraph of 5.1.1.7: [43:23] 43 23 000112 613 c 43 23 000112 614 c "If the data entity is a function result, the derived type can be specified 43 23 000112 615 c on the FUNCTION statement providing the derived type is defined within the 43 23 000112 616 c body of the function or is accessible there by use or host association." 44 24 000135 491 a INTENT(IN) conformance 44 24 000135 491 b X3J3 approved; ready for WG5 44 24 000135 491 c 1. Section 5.1.2.3 following R511 - add the following constraint 44 24 000135 492 c after the existing constraint [44:24+]: 44 24 000135 493 c 44 24 000135 494 c "Constraint: A dummy argument with the INTENT(IN) attribute, or 44 24 000135 495 c subobject of such a dummy argument, must not appear 44 24 000135 496 c in the following contexts: 44 24 000135 497 c 44 24 000135 498 c (1) As the of an , 44 24 000135 499 c 44 24 000135 500 c (2) As a DO variable or implied-DO variable, 44 24 000135 501 c 44 24 000135 502 c (3) As an in a , 44 24 000135 503 c 44 24 000135 504 c (4) As a in a if the 44 24 000135 505 c appears in a NML= specifier in 44 24 000135 506 c a , 44 24 000135 507 c 44 24 000135 508 c (5) As an in an , 44 24 000135 509 c 44 24 000135 510 c (6) As an IOSTAT= or SIZE= specifier in an input/output 44 24 000135 511 c statement, 44 24 000135 512 c 44 24 000135 513 c (7) As a definable variable in an INQUIRE statement, 44 24 000135 514 c 44 24 000135 515 c (8) As a in an or 44 24 000135 516 c , 44 24 000135 517 c 44 24 000135 518 c (9) As an actual argument in a reference to a procedure 44 24 000135 519 c with an explicit interface when the associated dummy 44 24 000135 520 c argument has the INTENT(OUT) or INTENT(INOUT) attribute, or 44 24 000135 521 c 44 24 000135 522 c <<(10) In an .>>" 46 30 000108 415 a Referencing disassociated pointers 46 30 000108 415 b WG5 approved; ready for SC22 46 30 000108 415 c 1. Replace the first two lines of the seventh paragraph of 5.1.2.4.3, 46 30 000108 416 c "The size, bounds, and shape of the target ... association status." 46 30 000108 417 c [46:30-33] with: 46 30 000108 418 c 46 30 000108 419 c "The size, bounds, and shape of the target of a disassociated array 46 30 000108 420 c pointer are undefined. No part of such an array may be referenced 46 30 000108 421 c or defined; however, the array may appear as an argument to an 46 30 000108 422 c intrinsic inquiry function that is inquiring about argument presence, 46 30 000108 423 c a property of the type or type parameters, or association status." 46 41 000039 2126 a Association of a pointer actual argument with a dummy argument 46 41 000039 2126 b WG5 approved; ready for SC22 46 41 000039 2126 c 1. Delete the penultimate (tenth) paragraph of 5.1.2.4.3, "A pointer 46 41 000039 2127 c dummy argument ... argument." [46:41-42] 46 43 000093 1898 a Scalar pointer function results 46 43 000093 1898 b WG5 approved; ready for SC22 46 43 000093 1898 c 1. Delete the last paragraph of 5.1.2.4.3 [46:43]. 47 39 000087 1662 a PARAMETER statements and SAVE statements 47 39 000087 1662 b WG5 approved; ready for SC22 47 39 000087 1662 c 3. Remove the penultimate sentence of 5.1.2.5, "The SAVE attribute ... result, 47 39 000087 1663 c or an automatic data object." [47:39] 48 16 000187 1578 a TARGET attribute, storage association, and pointer association 48 16 000187 1578 b X3J3 consideration in progress 48 16 000187 1578 c 1. Delete the second sentence of 5.1.2.8 [48:16-17]. 48 26 000139 615 a INTRINSIC, EXTERNAL attribute questions 48 26 000139 615 b X3J3 approved; ready for WG5 48 26 000139 615 c 1. Section 5.1.2.10 Replace 'an object name' with 'a function name' [48:26] 48 30 000139 617 a INTRINSIC, EXTERNAL attribute questions 48 30 000139 617 b X3J3 approved; ready for WG5 48 30 000139 617 c 2. Section 5.1.2.11 Replace 'an object name' with 'a function name' [48:30] 50 9 000087 1665 a PARAMETER statements and SAVE statements 50 9 000087 1665 b WG5 approved; ready for SC22 50 9 000087 1665 c 4. Change the first constraint of section 5.2.4 to [50:9] 50 9 000087 1666 c 50 9 000087 1667 c An must not be the name of an object in a common block, a dummy 50 9 000087 1668 c argument name, a procedure name, a function result name, an automatic data 50 9 000087 1669 c object name, or the name of an object with the PARAMETER attribute. 52 20 000136 1802 a scalar-structure-component in data-implied-do 52 20 000136 1802 b WG5 approved; ready for SC22 52 20 000136 1802 c In section 5.2.9, following the second constraint [52:20], insert the 52 20 000136 1803 c following constraint: 52 20 000136 1804 c 52 20 000136 1805 c Constraint: The must contain at least one 52 20 000136 1806 c that contains a . 52 25 000089 1783 a Errors in the DATA statement description 52 25 000089 1783 b WG5 approved; ready for SC22 52 25 000089 1783 c 1. Add a new constraint after the second constraint following R537: [52:25] 52 25 000089 1784 c 52 25 000089 1785 c If a DATA statement constant value is a named constant or a structure 52 25 000089 1786 c constructor, the named constant or derived type must have been declared 52 25 000089 1787 c previously in the scoping unit or made accessible by use or host association. 52 31 000096 1479 a Definition of "Declaration" 52 31 000096 1479 b X3J3 consideration in progress 52 31 000096 1479 c 2. In section 5.2.9 "DATA statement", in the fifth constraint 52 31 000096 1480 c following R537 [52:31-32]: 52 31 000096 1481 c 52 31 000096 1482 c delete "made accessible by use or host association," 52 31 000096 1483 c 52 31 000096 1484 c as now redundant with the definitions of use and host association. 53 4 000089 1789 a Errors in the DATA statement description 53 4 000089 1789 b WG5 approved; ready for SC22 53 4 000089 1789 c 2. Delete the second sentence in the third paragraph following the 53 4 000089 1790 c constraints [53:4-5], "Each such value ...host association." 53 6 000089 1792 a Errors in the DATA statement description 53 6 000089 1792 b WG5 approved; ready for SC22 53 6 000089 1792 c 3. In the third sentence [53:6], 53 6 000089 1793 c replace "following constant" 53 6 000089 1794 c with "following constant value". 53 11 000089 1796 a Errors in the DATA statement description 53 11 000089 1796 b WG5 approved; ready for SC22 53 11 000089 1796 c 4. In the next paragraph, second sentence [53:11], 53 11 000089 1797 c change "constant" 53 11 000089 1798 c to "constant value". 53 17 000089 1800 a Errors in the DATA statement description 53 17 000089 1800 b WG5 approved; ready for SC22 53 17 000089 1800 c 5. In the following paragraph, last sentence [53:17], 53 17 000089 1801 c change "constant" 53 17 000089 1802 c to "constant value". 53 18 000089 1804 a Errors in the DATA statement description 53 18 000089 1804 b WG5 approved; ready for SC22 53 18 000089 1804 c 6. In the sixth paragraph [53:18-19], 53 18 000089 1805 c change "value of the constant" 53 18 000089 1806 c to "constant value" (twice) 53 43 000012 795 a Type of a named constant when there is implicit mapping 53 43 000012 795 b WG5 approved; ready for SC22 53 43 000012 795 c 1. In section 5.2.10 change the second paragraph to: [53:43-47] 53 43 000012 796 c 53 43 000012 797 c "The named constant must have its type, type parameters, and shape 53 43 000012 798 c specified in a prior specification of the or 53 43 000012 799 c declared implicitly (5.3). If the named constant is typed by the implicit 53 43 000012 800 c typing rules, its appearance in any subsequent specification of the 53 43 000012 801 c must confirm this implied type and the values of any 53 43 000012 802 c implied type parameters." 54 30 000013 877 a Implicit mapping of an interface block 54 30 000013 877 b Published 54 30 000013 877 c 1. In Section 5.3 in the second paragraph after the constraints [54:30], 54 30 000013 878 c in the phrase: "the default is the mapping ...", after "default": 54 30 000013 879 c 54 30 000013 880 c add "for a program unit or an interface body is default integer if 54 30 000013 881 c the letter is I,J, ... , or N and default real otherwise, and the 54 30 000013 882 c default for an internal or module procedure". 54 30 000013 883 c 54 30 000013 884 c Delete "A program ... O-Z)" 54 35 000012 804 a Type of a named constant when there is implicit mapping 54 35 000012 804 b WG5 approved; ready for SC22 54 35 000012 804 c 2. In section 5.3 in line 3 of the paragraph that starts with "Any data 54 35 000012 805 c entity that is" after 'not null.' and before the Corrigendum 1 54 35 000012 806 c addition [54:35], add: 54 35 000012 807 c 54 35 000012 808 c "The mapping for the first letter of the data entity must either 54 35 000012 809 c have been established by a prior IMPLICIT statement or be the 54 35 000012 810 c default mapping for the letter." 54 35 000032 1775 a Implicit declaration of a derived type 54 35 000032 1775 b Published 54 35 000032 1775 c 2. In paragraph 5 of 5.3 after "provided the mapping is not null.", 54 35 000032 1776 c insert the new sentence: "Note that the mapping can be to a derived 54 35 000032 1777 c type that is inaccessible in the local scope if the derived type is 54 35 000032 1778 c accessible to the host scope." [54:35] 55 2 000013 886 a Implicit mapping of an interface block 55 2 000013 886 b Published 55 2 000013 886 c 2. In the example in section 5.3 for FUNCTION FUN [55:2] in the interface 55 2 000013 887 c block the comment should be changed from: 55 2 000013 888 c 55 2 000013 889 c ! All data entities must 55 2 000013 890 c ! be declared explicitly 55 2 000013 891 c 55 2 000013 892 c to 55 2 000013 893 c 55 2 000013 894 c ! Not all entities need be 55 2 000013 895 c ! declared explicitly 55 3 000013 897 a Implicit mapping of an interface block 55 3 000013 897 b Published 55 3 000013 897 c 3. In the first example in section 5.3 [55:3], change "INTEGER FUN, I" 55 3 000013 898 c to be "INTEGER FUN". 56 13 000142 1945 a Namelist I/O 56 13 000142 1945 b WG5 approved; ready for SC22 56 13 000142 1945 c 1. In section 5.4, add to the end of the second constraint [56:13] 56 13 000142 1946 c "or have private components" 56 22 000012 812 a Type of a named constant when there is implicit mapping 56 22 000012 812 b WG5 approved; ready for SC22 56 22 000012 812 c 3. In section 5.4 in the penultimate paragraph [56:22-24]: 56 22 000012 813 c in line 3, delete "currently" 56 22 000012 814 c and in lines 4-5 replace "this implied type" 56 22 000012 815 c by "the implied type and type parameters". 57 2 000177 923 a Structures in EQUIVALENCE lists 57 2 000177 923 b X3J3 approved; ready for WG5 57 2 000177 923 c On page 57, line 2, [57:2] 57 2 000177 924 c change "derived type or" 57 2 000177 925 c to "derived type, an object" 57 17 000160 2608 a Variables with the TARGET attribute in EQUIVALENCE groups 57 17 000160 2608 b WG5 approved; ready for SC22 57 17 000160 2608 c After the sixth constraint of section 5.5.1 add [57:17+] 57 17 000160 2609 c 57 17 000160 2610 c Constraint: An must not have the TARGET attribute. 59 11 000071 989 a Use association and common block names 59 11 000071 989 b WG5 approved; ready for SC22 59 11 000071 989 c 1. In the first sentence of 5.5.2.1 after "For each common block", 59 11 000071 990 c insert "in a scoping unit". [59:11] 59 19 000071 992 a Use association and common block names 59 19 000071 992 b WG5 approved; ready for SC22 59 19 000071 992 c 2. At the end of 5.5.2.1, add the following paragraph: 59 19 000071 993 c 59 19 000071 994 c "Only COMMON statements and EQUIVALENCE statements appearing in the 59 19 000071 995 c scoping unit contribute to common block storage sequences formed in that 59 19 000071 996 c unit. Variables, in common blocks, made accessible by use association or 59 19 000071 997 c host association do not contribute." [59:19] 59 30 000071 999 a Use association and common block names 59 30 000071 999 b WG5 approved; ready for SC22 59 30 000071 999 c 3. At the end of the first paragraph of 5.5.2.3, add the following sentence: 59 30 000071 1000 c 59 30 000071 1001 c "Use association or host association may cause these associated objects 59 30 000071 1002 c to be accessible in the same scoping unit." [59:30] 59 42 000187 1580 a TARGET attribute, storage association, and pointer association 59 42 000187 1580 b X3J3 consideration in progress 59 42 000187 1580 c 2. Insert as the (new) last paragraph of 5.5.2.3 [59:42+]: 59 42 000187 1581 c 59 42 000187 1582 c "An object with the TARGET attribute must become storage associated 59 42 000187 1583 c only with another object that has the TARGET attribute." 60 19 000071 1004 a Use association and common block names 60 19 000071 1004 b WG5 approved; ready for SC22 60 19 000071 1004 c 4. Delete the last two sentences in 5.5.2.5. [60:19] 62 29 000145 1034 a Expressions in of a FUNCTION statement 62 29 000145 1034 b X3J3 consideration in progress 62 29 000145 1034 c 2. Section 6.1.1, add to the end of the paragraph before the examples [62:29] 62 29 000145 1035 c 62 29 000145 1036 c "A substring must not be referenced or defined before the 62 29 000145 1037 c declaration of the type and type parameters of the parent string, 62 29 000145 1038 c unless the type and type parameters are determined by the implicit 62 29 000145 1039 c typing rules of the scope." 63 15 000140 674 a TARGET attribute for a derived-type object with a pointer component 63 15 000140 674 b X3J3 consideration in progress 63 15 000140 674 c In section 6.1.2, in the last paragraph before the last example, 63 15 000140 675 c [63:15-17] 63 15 000140 676 c 63 15 000140 677 c change the sentence that starts: 63 15 000140 678 c "A structure component has the INTENT..." 63 15 000140 679 c to: 63 15 000140 680 c "A structure component has the INTENT or PARAMETER attribute if 63 15 000140 681 c the parent object has the attribute. A structure component that 63 15 000140 682 c does not have the POINTER attribute has the TARGET attribute if 63 15 000140 683 c the parent object has the TARGET attribute." 63 30 000166 2833 a Array named constant is a constant expression? 63 30 000166 2833 b WG5 approved; ready for SC22 63 30 000166 2833 c Section 6.2.1, second paragraph: 63 30 000166 2834 c change "the name of a constant expression (5.1.2.1 and 5.2.10)" 63 30 000166 2835 c to "a named constant (5.1.2.1 and 5.2.10)" [63:30-31] 64 16 000145 1041 a Expressions in of a FUNCTION statement 64 16 000145 1041 b X3J3 consideration in progress 64 16 000145 1041 c 3. Section 6.2.2, add after the sentence "An array section is an array." 64 16 000145 1042 c [64:16] 64 16 000145 1043 c "An array element or array section must not be referenced 64 16 000145 1044 c or defined before the declaration of the array bounds of 64 16 000145 1045 c the parent object." 76 18 000162 2675 a Pointer expression "(i)" 76 18 000162 2675 b WG5 approved; ready for SC22 76 18 000162 2675 c 7.1.4.1: Change the first sentence of the last paragraph to: [76:18-19] 76 18 000162 2676 c 76 18 000162 2677 c "If a pointer appears as one of the following, the associated target 76 18 000162 2678 c object is referenced: 76 18 000162 2679 c (1) A primary in an intrinsic or defined operation, 76 18 000162 2680 c (2) As the of a parenthesized primary, or 76 18 000162 2681 c (3) As the only primary on the right-hand side of an intrinsic assignment 76 18 000162 2682 c statement." 76 22 000163 2738 a Pointer assignment of a disassociated pointer 76 22 000163 2738 b WG5 approved; ready for SC22 76 22 000163 2738 c In the final sentence of section 7.1.4.1, insert before the terminating 76 22 000163 2739 c period 76 22 000163 2740 c 76 22 000163 2741 c ", or as the target in a pointer assignment statement." [76:22] 77 17 000167 565 a Subscripts and Substrings in Initialization expressions 77 17 000167 565 b X3J3 approved; ready for WG5 77 17 000167 565 c 1. Section 7.1.6.1, in item (1) of the first list [77:17-18] 77 17 000167 566 c change: 'constant where each subscript, section subscript, 77 17 000167 567 c substring starting point, and substring ending point 77 17 000167 568 c is a constant expression.' 77 17 000167 569 c to: 'constant,' 77 20 000129 393 a Array constructors in initialization expressions 77 20 000129 393 b X3J3 approved; ready for WG5 77 20 000129 393 c 1. In section 7.1.6.1, in the first list, in item 2 [77:20], 77 20 000129 394 c 77 20 000129 395 c change: "either constant expressions or implied-DO variables," 77 20 000129 396 c to: "constant expressions," 77 24 000097 2105 a Specification expression 77 24 000097 2105 b WG5 approved; ready for SC22 77 24 000097 2105 c 1. Replace 7.1.6.1 (6), in the first list, with the following: [77:24-28] 77 24 000097 2106 c 77 24 000097 2107 c (6) A reference to an intrinsic function which is: 77 24 000097 2108 c a) an array inquiry function (13.10.15) other than ALLOCATED, 77 24 000097 2109 c b) the bit inquiry function BIT_SIZE, 77 24 000097 2110 c c) the character inquiry function LEN, 77 24 000097 2111 c d) the kind inquiry function KIND, or 77 24 000097 2112 c e) a numeric inquiry function (13.10.8) 77 24 000097 2113 c and where each argument of the function is 77 24 000097 2114 c a) a constant expression, or 77 24 000097 2115 c b) a variable whose properties inquired about are not: 77 24 000097 2116 c 1) assumed, 77 24 000097 2117 c 2) defined by an expression that is not a constant expression, 77 24 000097 2118 c or 77 24 000097 2119 c 3) definable by an ALLOCATE or POINTER assignment statement 77 27 000047 2445 a Automatic data object in initialization expressions 77 27 000047 2445 b Published 77 27 000047 2445 c 1. Section 7.1.6.1, page 77, item (6) 77 27 000047 2446 c change "not assumed or" 77 27 000047 2447 c to "not assumed, are not defined by an expression that is not 77 27 000047 2448 c a constant expression, and are not" [77:27] 77 28 000129 398 a Array constructors in initialization expressions 77 28 000129 398 b X3J3 approved; ready for WG5 77 28 000129 398 c 2. In section 7.1.6.1, in the first list, in item 6 [77:28], delete the 77 28 000129 399 c last "or" 77 28 000129 401 a Array constructors in initialization expressions 77 28 000129 401 b X3J3 approved; ready for WG5 77 28 000129 401 c 3. In section 7.1.6.1, in the first list, add as item 7 and 77 28 000129 402 c renumber the rest [77:28+]: 77 28 000129 403 c 77 28 000129 404 c "(7) An implied-DO variable within an array constructor where the 77 28 000129 405 c bounds and strides of the corresponding implied-DO are 77 28 000129 406 c constant expressions, or" 77 29 000167 571 a Subscripts and Substrings in Initialization expressions 77 29 000167 571 b X3J3 approved; ready for WG5 77 29 000167 571 c 2. Section 7.1.6.1. in the last item of the first list [77:29] 77 29 000167 572 c change: '.' 77 29 000167 573 c to: ',' 77 29 000167 575 a Subscripts and Substrings in Initialization expressions 77 29 000167 575 b X3J3 approved; ready for WG5 77 29 000167 575 c 3. Section 7.1.6.1 at the end of the first list, in the style 77 29 000167 576 c similar to the 'and where ...' at the end of the list in 7.1.6.2: [77:29+] 77 29 000167 577 c add: 'and where each subscript, section subscript, substring 77 29 000167 578 c starting point, and substring ending point is a constant 77 29 000167 579 c expression.' 77 36 000167 581 a Subscripts and Substrings in Initialization expressions 77 36 000167 581 b X3J3 approved; ready for WG5 77 36 000167 581 c 4. Section 7.1.6.1, in item (1) of the second list [77:36-37] 77 36 000167 582 c change: 'constant where each subscript, section subscript, 77 36 000167 583 c substring starting point, and substring ending point 77 36 000167 584 c is an initialization expression,' 77 36 000167 585 c to: 'constant,' 77 39 000129 408 a Array constructors in initialization expressions 77 39 000129 408 b X3J3 approved; ready for WG5 77 39 000129 408 c 4. In section 7.1.6.1, in the second list, in item 2 [77:39], 77 39 000129 409 c 77 39 000129 410 c change: "either initialization expressions or implied-DO variables," 77 39 000129 411 c to: "initialization expressions," 78 6 000097 2121 a Specification expression 78 6 000097 2121 b WG5 approved; ready for SC22 78 6 000097 2121 c 2. Replace 7.1.6.1 (6), in the second list with the following: [78:6-10] 78 6 000097 2122 c 78 6 000097 2123 c (6) A reference to an intrinsic function which is: 78 6 000097 2124 c a) an array inquiry function (13.10.15) other than ALLOCATED, 78 6 000097 2125 c b) the bit inquiry function BIT_SIZE, 78 6 000097 2126 c c) the character inquiry function LEN, 78 6 000097 2127 c d) the kind inquiry function KIND, or 78 6 000097 2128 c e) a numeric inquiry function (13.10.8) 78 6 000097 2129 c and where each argument of the function is 78 6 000097 2130 c a) an initialization expression, or 78 6 000097 2131 c b) a variable whose properties inquired about are not: 78 6 000097 2132 c 1) assumed, 78 6 000097 2133 c 2) defined by an expression that is not a 78 6 000097 2134 c initialization expression, or 78 6 000097 2135 c 3) definable by an ALLOCATE or POINTER assignment 78 6 000097 2136 c statement 78 9 000047 2450 a Automatic data object in initialization expressions 78 9 000047 2450 b Published 78 9 000047 2450 c 2. Section 7.1.6.1, page 78, item (6) 78 9 000047 2451 c change "not assumed or" 78 9 000047 2452 c to "not assumed, are not defined by an expression that is not 78 9 000047 2453 c an initialization expression, and are not" [78:9] 78 10 000129 413 a Array constructors in initialization expressions 78 10 000129 413 b X3J3 approved; ready for WG5 78 10 000129 413 c 5. In section 7.1.6.1, in the second list, in item 6 [78:10], delete the 78 10 000129 414 c last "or" 78 10 000129 416 a Array constructors in initialization expressions 78 10 000129 416 b X3J3 approved; ready for WG5 78 10 000129 416 c 6. In section 7.1.6.1, in the second list, add as item 7 and 78 10 000129 417 c renumber the rest [78:10+]: 78 10 000129 418 c 78 10 000129 419 c "(7) An implied-DO variable within an array constructor where the 78 10 000129 420 c bounds and strides of the corresponding implied-DO are 78 10 000129 421 c initialization expressions, or" 78 11 000167 587 a Subscripts and Substrings in Initialization expressions 78 11 000167 587 b X3J3 approved; ready for WG5 78 11 000167 587 c 2. Section 7.1.6.1. in the last item of the second list [78:11] 78 11 000167 588 c change: '.' 78 11 000167 589 c to: ',' 78 11 000167 591 a Subscripts and Substrings in Initialization expressions 78 11 000167 591 b X3J3 approved; ready for WG5 78 11 000167 591 c 3. Section 7.1.6.1 at the end of the second list, in the style similar to 78 11 000167 592 c the 'and where ...' at the end of the list in 7.1.6.2: [78:11+] 78 11 000167 593 c add: 'and where each subscript, section subscript, substring 78 11 000167 594 c starting point, and substring ending point is an 78 11 000167 595 c initialization expression.' 78 21 000145 1047 a Expressions in of a FUNCTION statement 78 21 000145 1047 b X3J3 consideration in progress 78 21 000145 1047 c 4. Section 7.1.6.1, in the paragraph after the constraints [78:21-22] 78 21 000145 1048 c 78 21 000145 1049 c change "object specified in the same , the 78 21 000145 1050 c type parameter or array bound must be specified in 78 21 000145 1051 c a prior specification of the ." 78 21 000145 1052 c 78 21 000145 1053 c to "object declared in the same scoping unit, the type 78 21 000145 1054 c parameter or array bound must be specified in a 78 21 000145 1055 c specification prior to the initialization expression." 79 4 000129 423 a Array constructors in initialization expressions 79 4 000129 423 b X3J3 approved; ready for WG5 79 4 000129 423 c 7. In section 7.1.6.2, in the list, in item 5 [79:4], 79 4 000129 424 c 79 4 000129 425 c change: "either restricted expressions or implied-DO variables," 79 4 000129 426 c to: "restricted expressions," 79 11 000097 2138 a Specification expression 79 11 000097 2138 b WG5 approved; ready for SC22 79 11 000097 2138 c 3. Replace 7.1.6.2 (9) with the following: [79:11-15] 79 11 000097 2139 c 79 11 000097 2140 c (9) A reference to an intrinsic function which is: 79 11 000097 2141 c a) an array inquiry function (13.10.15) other than ALLOCATED, 79 11 000097 2142 c b) the bit inquiry function BIT_SIZE, 79 11 000097 2143 c c) the character inquiry function LEN, 79 11 000097 2144 c d) the kind inquiry function KIND, or 79 11 000097 2145 c e) a numeric inquiry function (13.10.8) 79 11 000097 2146 c and where each argument of the function is 79 11 000097 2147 c a) a restricted expression, or 79 11 000097 2148 c b) a variable whose properties inquired about are not: 79 11 000097 2149 c 1) dependent on the upper bound of the last dimension of an 79 11 000097 2150 c assumed-size array, 79 11 000097 2151 c 2) defined by an expression that is not a 79 11 000097 2152 c restricted expression, or 79 11 000097 2153 c 3) definable by an ALLOCATE or POINTER assignment statement 79 15 000129 428 a Array constructors in initialization expressions 79 15 000129 428 b X3J3 approved; ready for WG5 79 15 000129 428 c 8. In section 7.1.6.2, in the list, in item 9 [79:15], delete the last "or" 79 15 000129 430 a Array constructors in initialization expressions 79 15 000129 430 b X3J3 approved; ready for WG5 79 15 000129 430 c 9. In section 7.1.6.2, in the list, add as item 10 and 79 15 000129 431 c renumber the rest [79:15+]: 79 15 000129 432 c 79 15 000129 433 c "(10) An implied-DO variable within an array constructor where the 79 15 000129 434 c bounds and strides of the corresponding implied-DO are 79 15 000129 435 c restricted expressions, or" 79 23 000012 817 a Type of a named constant when there is implicit mapping 79 23 000012 817 b WG5 approved; ready for SC22 79 23 000012 817 c 4. In section 7.1.6.2, in line 2 of the paragraph after the constraint 79 23 000012 818 c [79:23] delete "currently". 79 28 000145 1057 a Expressions in of a FUNCTION statement 79 28 000145 1057 b X3J3 consideration in progress 79 28 000145 1057 c 5. Section 7.1.6.2, in the 2nd paragraph after the constraint [79:28-29] 79 28 000145 1058 c 79 28 000145 1059 c change "entity specified in the same , the 79 28 000145 1060 c type parameter or array bound must be specified in 79 28 000145 1061 c a prior specification of the ." 79 28 000145 1062 c 79 28 000145 1063 c to "entity declared in the same scoping unit, the type 79 28 000145 1064 c parameter or array bound must be specified in a 79 28 000145 1065 c specification prior to the specification expression." 85 2 00000b 132 a Minor edits and corrections for Technical Corrigendum #2 85 2 00000b 132 b WG5 approved; ready for SC22 85 2 00000b 132 c 11. Section 7.2.3., first sentence [85:2] 85 2 00000b 133 c Change "operator" to "operation". 92 12 000079 1400 a Automatic character and ALLOCATABLE, POINTER and TARGET attributes 92 12 000079 1400 b WG5 approved; ready for SC22 92 12 000079 1400 c 1. In the third constraint of section 7.5.2 [92:12] 92 12 000079 1401 c change ", type parameters," 92 12 000079 1402 c to ", kind type parameters," 92 15 000079 1404 a Automatic character and ALLOCATABLE, POINTER and TARGET attributes 92 15 000079 1404 b WG5 approved; ready for SC22 92 15 000079 1404 c 2. Add at the beginning of the paragraph following the constraints of 92 15 000079 1405 c section 7.5.2 [92:15], 92 15 000079 1406 c 92 15 000079 1407 c "The target must have the same type parameters as the pointer." 93 10 000084 1595 a Change masked array assignment constraint to prose 93 10 000084 1595 b Published 93 10 000084 1595 c 1. Delete the first constraint following rule R743. [93:10-11] 93 21 000084 1597 a Change masked array assignment constraint to prose 93 21 000084 1597 b Published 93 21 000084 1597 c 2. Use the constraint body as the new first paragraph of section 7.5.3.2. 93 21 000084 1598 c [93:21] 93 29 000080 1483 a Vector subscripts in masked array assignment statements 93 29 000080 1483 b Published 93 29 000080 1483 c 1. In the second paragraph of section 7.5.3.2 after 93 29 000080 1484 c [93:29], add "or ". 93 34 000080 1486 a Vector subscripts in masked array assignment statements 93 34 000080 1486 b Published 93 34 000080 1486 c 2. In the third paragraph of section 7.5.3.2 after [93:34], 93 34 000080 1487 c add "or ". 93 37 000111 560 a Array constructors in masked assignment statements 93 37 000111 560 b WG5 approved; ready for SC22 93 37 000111 560 c In 7.5.3.2 following the third paragraph [93:37+], insert the 93 37 000111 561 c following paragraph: 93 37 000111 562 c 93 37 000111 563 c If an array constructor appears in an , the array 93 37 000111 564 c constructor is evaluated without any masked control by the 93 37 000111 565 c and then the is evaluated. 95 12 000194 2126 a Statements between SELECT CASE and CASE 95 12 000194 2126 b X3J3 approved; ready for WG5 95 12 000194 2126 c Page 95, the sentence before rule R801 [95:12] 95 12 000194 2127 c 95 12 000194 2128 c insert "and possibly FORMAT and DATA statements" 95 12 000194 2129 c between "constructs" and "that". 100 39 000179 1003 a DO variable with POINTER attribute 100 39 000179 1003 b X3J3 approved; ready for WG5 100 39 000179 1003 c Section 8.1.4.1.1 following the first constraint following rule R822 100 39 000179 1004 c [100:39+] insert the new constraint: 100 39 000179 1005 c 100 39 000179 1006 c Constraint: The must not have the POINTER attribute. 117 27 00000c 15 a Minor edits and corrections 117 27 00000c 15 b X3J3 approved; ready for WG5 117 27 00000c 15 c 18. In section 9.3.4.8 [117:27-28] 117 27 00000c 16 c 117 27 00000c 17 c change: 117 27 00000c 18 c 'READ specifies that the WRITE and ENDFILE statements must not refer 117 27 00000c 19 c to this connection.' 117 27 00000c 20 c 117 27 00000c 21 c to: 117 27 00000c 22 c 'READ specifies that the WRITE, PRINT, and ENDFILE statements must 117 27 00000c 23 c not refer to this connection.' 117 27 00000c 24 c 117 27 00000c 25 c Rationale: The same restriction applies to the PRINT statement. 120 25 000072 1035 a Missing constraint for SIZE= 120 25 000072 1035 b Published 120 25 000072 1035 c Section 9.4.1, [120:25], add a constraint to the end of list: 120 25 000072 1036 c 120 25 000072 1037 c "If a SIZE= specifier is present, an ADVANCE= specifier also must appear." 123 30 000069 929 a I/O implied DO variable 123 30 000069 929 b Published 123 30 000069 929 c In section 9.4.2, in the second constraint, 123 30 000069 930 c replace the word "scalar" 123 30 000069 931 c with "named scalar variable". [123:30] 124 44 000150 2062 a Undefinition of implied-DO variables in I/O statements 124 44 000150 2062 b WG5 approved; ready for SC22 124 44 000150 2062 c 1. Section 9.4.3, second paragraph following the numbered list [124:44], 124 44 000150 2063 c change 124 44 000150 2064 c any implied-DO variables become undefined 124 44 000150 2065 c to 124 44 000150 2066 c if the input/output statement contains any implied-DOs, all of 124 44 000150 2067 c the implied-DO variables in the statement become undefined 125 7 000150 2069 a Undefinition of implied-DO variables in I/O statements 125 7 000150 2069 b WG5 approved; ready for SC22 125 7 000150 2069 c 2. Section 9.4.3, second-to-last paragraph [125:7-8], 125 7 000150 2070 c change 125 7 000150 2071 c any implied-DO variables become undefined 125 7 000150 2072 c to 125 7 000150 2073 c if the input statement contains any implied-DOs, all of 125 7 000150 2074 c the implied-DO variables in the statement become undefined 128 27 000169 2914 a End of Namelist Input 128 27 000169 2914 b WG5 approved; ready for SC22 128 27 000169 2914 c 1. In section 9.4.6, item 3 [128:27-29] 128 27 000169 2915 c 128 27 000169 2916 c delete "or namelist input reaches the end of a record after having 128 27 000169 2917 c processed a name-value subsequence for every item in the 128 27 000169 2918 c " 139 37 000131 1515 a Formatted Input and Kind Type Parameters 139 37 000131 1515 b WG5 approved; ready for SC22 139 37 000131 1515 c 1. In Section 10.5.1.1, third paragraph [139:37-38], 139 37 000131 1516 c 139 37 000131 1517 c change "be in the form of an optionally signed integer constant" 139 37 000131 1518 c to "be a (R401)". 139 37 000131 1519 c 139 37 000131 1520 c note: is a BNF term. 139 45 000131 1522 a Formatted Input and Kind Type Parameters 139 45 000131 1522 b WG5 approved; ready for SC22 139 45 000131 1522 c 2. In Section 10.5.1.1, fourth paragraph [139:45], 139 45 000131 1523 c 139 45 000131 1524 c change "in the form of an unsigned integer constant" 139 45 000131 1525 c to "as a ". 139 45 000131 1526 c 139 45 000131 1527 c Change "Note that an integer constant" 139 45 000131 1528 c to "Note that a ". 139 45 000131 1529 c 139 45 000131 1530 c note: This deals with output, not input, but we should make it clear that 139 45 000131 1531 c output doesn't produce kind type parameters either. 140 6 000131 1533 a Formatted Input and Kind Type Parameters 140 6 000131 1533 b WG5 approved; ready for SC22 140 6 000131 1533 c 3. In Section 10.5.1.1, sixth paragraph [140:6], 140 6 000131 1534 c 140 6 000131 1535 c change "the unsigned integer constant" 140 6 000131 1536 c to "the ". 140 25 000131 1538 a Formatted Input and Kind Type Parameters 140 25 000131 1538 b WG5 approved; ready for SC22 140 25 000131 1538 c 4. In Section 10.5.1.2.1 [140:25], list item (1), 140 25 000131 1539 c 140 25 000131 1540 c change "Explicitly signed integer constant" 140 25 000131 1541 c to "A followed by a ". 140 26 000131 1543 a Formatted Input and Kind Type Parameters 140 26 000131 1543 b WG5 approved; ready for SC22 140 26 000131 1543 c 5. In Section 10.5.1.2.1 items (2) and (3) [140:26-27], 140 26 000131 1544 c 140 26 000131 1545 c change "an optionally signed integer constant" 140 26 000131 1546 c to "a ". 143 47 000131 1548 a Formatted Input and Kind Type Parameters 143 47 000131 1548 b WG5 approved; ready for SC22 143 47 000131 1548 c 6. In Section 10.5.2, second paragraph [143:47], 143 47 000131 1549 c 143 47 000131 1550 c change "additional characters in the field" 143 47 000131 1551 c to "additional characters in the field, which are ignored". 144 7 000131 1553 a Formatted Input and Kind Type Parameters 144 7 000131 1553 b WG5 approved; ready for SC22 144 7 000131 1553 c 7. In section 10.5.3, first paragraph [144:7-9], 144 7 000131 1554 c 144 7 000131 1555 c replace the last sentence 144 7 000131 1556 c with "The kind type parameter of all characters transferred and 144 7 000131 1557 c converted under control of one A or G edit descriptor is implied by 144 7 000131 1558 c the kind of the corresponding list item." 144 37 000061 494 a G edit descriptor with "d" = 0 144 37 000061 494 b Published 144 37 000061 494 c 1. In section 10.5.4.1.2 second paragraph, 3rd sentence, 144 37 000061 495 c after "- 0.5," add " or N is identically 0 and d is 0,". [144:37] 144 40 000061 497 a G edit descriptor with "d" = 0 144 40 000061 497 b Published 144 40 000061 497 c 2. In section 10.5.4.1.2, second paragraph, fourth sentence, 144 40 000061 498 c after "N is identically 0" add " and d is not zero". [144:40] 148 17 000131 1560 a Formatted Input and Kind Type Parameters 148 17 000131 1560 b WG5 approved; ready for SC22 148 17 000131 1560 c 8. In Section 10.8, second paragraph [148:17], 148 17 000131 1561 c 148 17 000131 1562 c replace "constant with no kind type parameter specified." 148 17 000131 1563 c with "constant. Neither nor may have kind type parameters 148 17 000131 1564 c specified. The constant is interpreted as though it had the same 148 17 000131 1565 c kind type parameter as the corresponding list item." 149 1 000131 1567 a Formatted Input and Kind Type Parameters 149 1 000131 1567 b WG5 approved; ready for SC22 149 1 000131 1567 c 9. In section 10.8.1, sixth paragraph [149:1-2], 149 1 000131 1568 c 149 1 000131 1569 c replace "character literal constant of the same kind as" 149 1 000131 1570 c with "possibly delimited sequence of zero or more s 149 1 000131 1571 c whose kind type parameter is implied by the kind of". 149 12 000043 2284 a List-directed character input 149 12 000043 2284 b Published 149 12 000043 2284 c 1. Section 10.8.1: Add " and" to the end of item (4), and [149:12] 149 12 000043 2286 a List-directed character input 149 12 000043 2286 b Published 149 12 000043 2286 c 2. Section 10.8.1: Add an additional item to the list after item (4): [149:12] 149 12 000043 2287 c 149 12 000043 2288 c "(5) The character constant contains at least one character," 151 7 000131 1573 a Formatted Input and Kind Type Parameters 151 7 000131 1573 b WG5 approved; ready for SC22 151 7 000131 1573 c 10. In section 10.8.2, ninth paragraph [151:7], 151 7 000131 1574 c 151 7 000131 1575 c delete "possibly are preceded by a and an underscore,". 151 11 000131 1577 a Formatted Input and Kind Type Parameters 151 11 000131 1577 b WG5 approved; ready for SC22 151 11 000131 1577 c 11. In section 10.8.2, tenth paragraph [151:11], 151 11 000131 1578 c 151 11 000131 1579 c delete "possibly are preceded by a and an underscore,". 151 31 000131 1581 a Formatted Input and Kind Type Parameters 151 31 000131 1581 b WG5 approved; ready for SC22 151 31 000131 1581 c 12. In Section 10.9, third paragraph [151:31-32], 151 31 000131 1582 c 151 31 000131 1583 c replace "constant with no kind type parameter specified." 151 31 000131 1584 c with "constant. Neither nor may have kind type parameters 151 31 000131 1585 c specified. The constant is interpreted as though it had the same 151 31 000131 1586 c kind type parameter as the corresponding list item." 151 39 000142 1948 a Namelist I/O 151 39 000142 1948 b WG5 approved; ready for SC22 151 39 000142 1948 c 2. In section 10.9.1, replace item (2) with [151:39-40] 151 39 000142 1949 c "The character & followed immediately by the 151 39 000142 1950 c as specified in the NAMELIST statement," 152 1 000169 2920 a End of Namelist Input 152 1 000169 2920 b WG5 approved; ready for SC22 152 1 000169 2920 c 2. In 10.9.1, item (5) [152:1], delete "statement". 152 4 000165 2777 a Vector subscripts in Namelist input 152 4 000165 2777 b WG5 approved; ready for SC22 152 4 000165 2777 c In section 10.9.1, second paragraph [152:4], add the following sentence 152 4 000165 2778 c at the end of the paragraph: 152 4 000165 2779 c 152 4 000165 2780 c 'The optional qualification, if any, must not contain a vector subscript.' 152 23 00000b 135 a Minor edits and corrections for Technical Corrigendum #2 152 23 00000b 135 b WG5 approved; ready for SC22 152 23 00000b 135 c 12. Section 10.9.1.2., first sentence [152:23] 152 23 00000b 136 c After " " add "(10.9)" 153 12 000188 1701 a Ambiguity in Namelist Input? 153 12 000188 1701 b X3J3 approved; ready for WG5 153 12 000188 1701 c In section 10.9.1.3, 3rd paragraph [153:12], 153 12 000188 1702 c 153 12 000188 1703 c change "blanks," 153 12 000188 1704 c to "blanks, equals,". 153 15 000131 1588 a Formatted Input and Kind Type Parameters 153 15 000131 1588 b WG5 approved; ready for SC22 153 15 000131 1588 c 13. In section 10.9.1.3, fifth paragraph [153:15-16], 153 15 000131 1589 c 153 15 000131 1590 c replace "character literal constant of the same kind as" 153 15 000131 1591 c with "delimited sequence of zero or more s whose kind 153 15 000131 1592 c type parameter is implied by the kind of". 155 12 000131 1594 a Formatted Input and Kind Type Parameters 155 12 000131 1594 b WG5 approved; ready for SC22 155 12 000131 1594 c 14. In section 10.9.2.1, seventh paragraph [155:12], 155 12 000131 1595 c 155 12 000131 1596 c delete "possibly are preceded by a and an underscore,". 155 16 000131 1598 a Formatted Input and Kind Type Parameters 155 16 000131 1598 b WG5 approved; ready for SC22 155 16 000131 1598 c 15. In section 10.9.2.1, eighth paragraph, [155:16], 155 16 000131 1599 c 155 16 000131 1600 c delete "possibly are preceded by a and an underscore,". 158 22 000155 182 a Multiple USE statements, rename and only lists. 158 22 000155 182 b X3J3 consideration in progress 158 22 000155 182 c In section 11.3.2, paragraph beginning "More than one" [158:22-23] 158 22 000155 183 c change "s and s" 158 22 000155 184 c to "s and renames in s" 158 26 000128 1395 a Use associated generic names and renaming 158 26 000128 1395 b WG5 approved; ready for SC22 158 26 000128 1395 c The sentence in section 11.3.2 that states that if two "generic interfaces 158 26 000128 1396 c that are accessible in a scoping unit have the same name" [158:26-27], 158 26 000128 1397 c 158 26 000128 1398 c change "the same name" 158 26 000128 1399 c to "the same local name". 158 28 000074 1123 a Meaning of "referenced" in 11.3.2 158 28 000074 1123 b Published 158 28 000074 1123 c In section 11.3.2 [158:28] 158 28 000074 1124 c change the term "no entity is referenced by this name" 158 28 000074 1125 c to "the name is not used to refer to an entity". 158 29 000096 1486 a Definition of "Declaration" 158 29 000096 1486 b X3J3 consideration in progress 158 29 000096 1486 c 3. In 11.3.2 "USE statement", in the paragraph beginning "If two or more" 158 29 000096 1487 c in the third sentence [158:29-31]: 158 29 000096 1488 c 158 29 000096 1489 c change: through 158 29 000096 1490 c to: through explicit declaration, 158 41 000143 786 a Use association and functions/subroutines/intrinsics 158 41 000143 786 b X3J3 approved; ready for WG5 158 41 000143 786 c In section 11.3.2, ahead of "Examples:" add 2 new paragraphs [158:41+]: 158 41 000143 787 c 158 41 000143 788 c "A procedure with an implicit interface and public accessibility must 158 41 000143 789 c explicitly be given the EXTERNAL attribute in the scoping unit of the 158 41 000143 790 c module; if it is a function, its type and type parameters must be 158 41 000143 791 c explicitly declared in a type declaration statement in that scoping 158 41 000143 792 c unit. 158 41 000143 793 c 158 41 000143 794 c An intrinsic procedure with public accessibility must explicitly be given 158 41 000143 795 c the INTRINSIC attribute in the scoping unit of the module or be used as an 158 41 000143 796 c intrinsic procedure in that scoping unit." 161 16 00000b 93 a Minor edits and corrections for Technical Corrigendum #2 161 16 00000b 93 b WG5 approved; ready for SC22 161 16 00000b 93 c 1. 11.3.3.7, in the second sentence [161:16], change "C.11.5" to "C.11.4" 163 39 000090 1256 a Subroutine and function names in nested scopes 163 39 000090 1256 b X3J3 approved; ready for WG5 163 39 000090 1256 c 1. In section 12.1.2.2.1: [163:39] 163 39 000090 1257 c 163 39 000090 1258 c change: "A name that appears in the scoping unit as an in 163 39 000090 1259 c an " 163 39 000090 1260 c 163 39 000090 1261 c to: "A name that is declared to be an external procedure name (by an 163 39 000090 1262 c or an ), or that appears as a 163 39 000090 1263 c in a " 164 3 000090 1265 a Subroutine and function names in nested scopes 164 3 000090 1265 b X3J3 approved; ready for WG5 164 3 000090 1265 c 2. In the list specified in section 12.1.2.2.1: [164:3-7] 164 3 000090 1266 c 164 3 000090 1267 c Delete items (1), (3) and (4) and renumber the rest. 164 4 000090 1269 a Subroutine and function names in nested scopes 164 4 000090 1269 b X3J3 approved; ready for WG5 164 4 000090 1269 c 3. In the list specified in section 12.1.2.2.1: [164:4] 164 4 000090 1270 c 164 4 000090 1271 c change: "A in a , in a , or" 164 4 000090 1272 c 164 4 000090 1273 c to: "A in a or" 164 8 000096 1492 a Definition of "Declaration" 164 8 000096 1492 b X3J3 consideration in progress 164 8 000096 1492 c 4. In 12.1.2.2.1 "Host association" replace items 5 though 12 with the 164 8 000096 1493 c one new item [164:8-17] 164 8 000096 1494 c 164 8 000096 1495 c (5) An explicitly declared data object (2.5.3); 164 20 000118 902 a Named constructs and host association 164 20 000118 902 b Published 164 20 000118 902 c Add new item to the list in section 12.1.2.2.1 [164:20] and adjust the 164 20 000118 903 c list punctuation accordingly. 164 20 000118 904 c 164 20 000118 905 c "(16) The name of a named construct" 164 21 000088 1733 a Common block names and local names 164 21 000088 1733 b WG5 approved; ready for SC22 164 21 000088 1733 c In section 12.1.2.2.1 in the sentence that contains the list of items 164 21 000088 1734 c replace 'that has this as its nongeneric name is inaccessible.' 164 21 000088 1735 c with 'that has this as its nongeneric name is inaccessible 164 21 000088 1736 c by that name by host association.' [164:21] 164 22 000090 1275 a Subroutine and function names in nested scopes 164 22 000090 1275 b X3J3 approved; ready for WG5 164 22 000090 1275 c 4. In section 12.1.2.2.1 ahead of the sentence "Entities that are local 164 22 000090 1276 c (14.1.2) to a procedure are not accessible to its host." add: [164:22] 164 22 000090 1277 c 164 22 000090 1278 c "If a scoping unit contains a subprogram or a derived type definition, 164 22 000090 1279 c the name of the subprogram or derived type is the name of a local 164 22 000090 1280 c entity. Any entity of the host of this scoping unit that has a 164 22 000090 1281 c nongeneric name that is the same as the name of the subprogram or 164 22 000090 1282 c derived type is inaccessible." 164 25 000032 1780 a Implicit declaration of a derived type 164 25 000032 1780 b Published 164 25 000032 1780 c 3. In paragraph 3 of 12.1.2.2.1 after "prior to the DATA statement.", 164 25 000032 1781 c insert a new paragraph: [164:25] 164 25 000032 1782 c 164 25 000032 1783 c "If a derived type name of a host is inaccessible, data entities of 164 25 000032 1784 c that type or subobjects of such data entities still can be accessible." 167 31 000117 870 a Use of MODULE PROCEDURE statement in internal procedures 167 31 000117 870 b WG5 approved; ready for SC22 167 31 000117 870 c Replace the second constraint in section 12.3.2.1 [167:31] with: 167 31 000117 871 c 167 31 000117 872 c "The MODULE PROCEDURE specification is allowed only if the 167 31 000117 873 c has a and is contained in a scoping 167 31 000117 874 c unit where each is accessible as a module procedure." 167 36 000007 529 a Duplicate module procedures in interface blocks 167 36 000007 529 b WG5 approved; ready for SC22 167 36 000007 529 c The following additional constraint should be added to section 167 36 000007 530 c 12.3.2.1 [167:36]: 167 36 000007 531 c 167 36 000007 532 c Constraint: A in a must 167 36 000007 533 c not be one which previously had been specified in any 167 36 000007 534 c with the same generic identifier in the 167 36 000007 535 c same specification part. 167 39 000057 343 a Prohibition against multiple explicit specific interfaces 167 39 000057 343 b Published 167 39 000057 343 c Section 12.3.2.1, the sentence that begins "An interface body..." change 167 39 000057 344 c "explicit interface" to "explicit specific interface". [167:39] 170 42 000006 475 a Procedure specifications in a scoping unit 170 42 000006 475 b Published 170 42 000006 475 c At the end of the fourth paragraph following R1207 in 12.3.2.2 [170:42], 170 42 000006 476 c add: 170 42 000006 477 c 170 42 000006 478 c A name that appears in an EXTERNAL statement must not also appear 170 42 000006 479 c as a specific procedure name in an interface block in the scoping unit. 171 12 000083 1004 a Extending generic intrinsic procedures 171 12 000083 1004 b X3J3 consideration in progress 171 12 000083 1004 c 1. In section 12.3.2.3 add to the end of the first paragraph after 171 12 000083 1005 c the constraint [171:12]: 171 12 000083 1006 c 171 12 000083 1007 c "The appearance of a generic intrinsic procedure name in an 171 12 000083 1008 c INTRINSIC statement does not mean that the name cannot also 171 12 000083 1009 c appear as the name of a generic interface (14.1.2.3)." 172 8 000178 3117 a Specific routine with same name as generic passed as argument 172 8 000178 3117 b WG5 approved; ready for SC22 172 8 000178 3117 c Section 12.4.1, insert the following in the penultimate constraint, ahead 172 8 000178 3118 c of "(12.3.2.1, 13.1)" [172:8]: 172 8 000178 3119 c 172 8 000178 3120 c "unless it is also a specific name" 172 41 00000a 32 a Minor edits and corrections for Technical Corrigendum #1 172 41 00000a 32 b Published 172 41 00000a 32 c 3. 12.4.1.1, first paragraph, last line [172:41]; Change "of the the 172 41 00000a 33 c dummy" to "of the dummy" 172 41 000119 933 a Rank of assumed-shape array 172 41 000119 933 b Published 172 41 000119 933 c At the end of the first paragraph of section 12.4.1.1 [172:41], add: "If 172 41 000119 934 c the dummy argument is an assumed-shape array, the rank of the dummy argument 172 41 000119 935 c must agree with the rank of the actual argument." 173 6 000125 1168 a Copy in/copy out of target dummy arguments 173 6 000125 1168 b WG5 approved; ready for SC22 173 6 000125 1168 c 1. Section 12.4.1.1, add at the end of the fourth paragraph [173:6], 173 6 000125 1169 c 173 6 000125 1170 c "If the dummy argument has the TARGET attribute and the actual 173 6 000125 1171 c argument has the TARGET attribute but is not an array section 173 6 000125 1172 c with a vector subscript, the dummy and actual arguments must 173 6 000125 1173 c have the same shape." 173 10 000125 1175 a Copy in/copy out of target dummy arguments 173 10 000125 1175 b WG5 approved; ready for SC22 173 10 000125 1175 c 2. Section 12.4.1.1, fifth paragraph, last sentence [173:10-13] 173 10 000125 1176 c delete, "with a dummy argument of the procedure that has the 173 10 000125 1177 c TARGET attribute or" 173 13 000039 2129 a Association of a pointer actual argument with a dummy argument 173 13 000039 2129 b WG5 approved; ready for SC22 173 13 000039 2129 c 2. Add the following new paragraph following the current fifth 173 13 000039 2130 c paragraph of section 12.4.1.1: [173:13+] 173 13 000039 2131 c 173 13 000039 2132 c If the dummy argument is not a pointer and the corresponding actual 173 13 000039 2133 c argument is, the actual argument must be currently associated with a 173 13 000039 2134 c target and the dummy argument becomes argument associated with that 173 13 000039 2135 c target. 173 14 000125 1179 a Copy in/copy out of target dummy arguments 173 14 000125 1179 b WG5 approved; ready for SC22 173 14 000125 1179 c 3. Section 12.4.1.1, delete the sixth paragraph [173:14-17] and 173 14 000125 1180 c replace with, 173 14 000125 1181 c 173 14 000125 1182 c "If the dummy argument does not have the TARGET or POINTER 173 14 000125 1183 c attribute, any pointers associated with the actual argument 173 14 000125 1184 c do not become associated with the corresponding dummy 173 14 000125 1185 c argument on invocation of the procedure. 173 14 000125 1186 c 173 14 000125 1187 c If the dummy argument has the TARGET attribute and the 173 14 000125 1188 c corresponding actual argument has the TARGET attribute but 173 14 000125 1189 c is not an array section with a vector subscript: 173 14 000125 1190 c 173 14 000125 1191 c (1) Any pointers associated with the actual argument 173 14 000125 1192 c become associated with the corresponding dummy argument 173 14 000125 1193 c on invocation of the procedure. 173 14 000125 1194 c 173 14 000125 1195 c (2) When execution of the procedure completes, any 173 14 000125 1196 c pointers associated with the dummy argument remain 173 14 000125 1197 c associated with the actual argument. 173 14 000125 1198 c 173 14 000125 1199 c If the dummy argument has the TARGET attribute and the 173 14 000125 1200 c corresponding actual argument does not have the TARGET 173 14 000125 1201 c attribute or is an array section with a vector subscript, 173 14 000125 1202 c any pointers associated with the dummy argument become 173 14 000125 1203 c undefined when execution of the procedure completes." 173 18 000196 2288 a TARGET dummy arguments and element sequence calls 173 18 000196 2288 b X3J3 consideration in progress 173 18 000196 2288 c In Section 12.4.1.1, replace the sentence [173:18-20] 173 18 000196 2289 c 173 18 000196 2290 c "If the actual argument is scalar, the corresponding dummy argument 173 18 000196 2291 c must be scalar unless the actual argument is an element of an array 173 18 000196 2292 c that is not an assumed-shape or pointer array, or a substring of 173 18 000196 2293 c such an element." 173 18 000196 2294 c 173 18 000196 2295 c with 173 18 000196 2296 c 173 18 000196 2297 c "If the actual argument is scalar, the corresponding dummy argument 173 18 000196 2298 c must be scalar unless the actual argument is: 173 18 000196 2299 c (1) an element of an array, that is not one of the following: 173 18 000196 2300 c (a) the element of an assumed-shape array, 173 18 000196 2301 c (b) the element of a pointer array, or 173 18 000196 2302 c (c) the element of a dummy argument array with the TARGET 173 18 000196 2303 c attribute, or 173 18 000196 2304 c (2) a substring of an element permitted by (1)." 177 29 00000a 35 a Minor edits and corrections for Technical Corrigendum #1 177 29 00000a 35 b Published 177 29 00000a 35 c 4. 12.5.2.4, at end of first paragraph [177:29]; Add new sentence 177 29 00000a 36 c "When a statement function is invoked, an instance of that statement 177 29 00000a 37 c function is created." 178 19 000055 250 a Characteristics of character function results 178 19 000055 250 b Published 178 19 000055 250 c In Section 12.5.2.5 in the sentence that starts: "Otherwise, 178 19 000055 251 c they ... " delete: "all be scalars ... length or". [178:19] 179 38 000053 207 a Optional intrinsic function arguments 179 38 000053 207 b Published 179 38 000053 207 c 1. Add the following point to the numbered list in section 12.5.2.8: [179:38] 179 38 000053 208 c 179 38 000053 209 c (5) If it is an array, it must not be supplied as an actual 179 38 000053 210 c argument to an elemental procedure unless an array of the same 179 38 000053 211 c rank is supplied as an actual argument corresponding to a 179 38 000053 212 c nonoptional dummy argument of that elemental procedure. 179 39 000053 214 a Optional intrinsic function arguments 179 39 000053 214 b Published 179 39 000053 214 c 2. In the paragraph following the numbered list, replace "It" with 179 39 000053 215 c "Except as noted in (5) above, it" [179:39] 180 3 000081 867 a Pointer actual argument overlap 180 3 000081 867 b X3J3 consideration in progress 180 3 000081 867 c 1. In section 12.5.2.9, [180:3-4] Replace the first two lines of item (1) by 180 3 000081 868 c 180 3 000081 869 c "Action that affects the pointer association status of the entity 180 3 000081 870 c or any part of it (any pointer assignment, allocation, 180 3 000081 871 c deallocation, or nullification) must be taken through the dummy 180 3 000081 872 c argument. No action that affects the allocation status of the 180 3 000081 873 c entity may be taken. Action that affects the value of the entity 180 3 000081 874 c or any part of it must be taken through the dummy argument unless 180 3 000081 875 c (a) the dummy argument has the POINTER attribute, 180 3 000081 876 c (b) the part is all or part of a pointer subobject, or 180 3 000081 877 c (c) the dummy argument has the TARGET attribute, the dummy 180 3 000081 878 c argument does not have INTENT(IN), and the actual argument is a 180 3 000081 879 c target other than an array section with a vector subscript. 180 3 000081 880 c For example, in" 180 32 000081 882 a Pointer actual argument overlap 180 32 000081 882 b X3J3 consideration in progress 180 32 000081 882 c 2. In section 12.5.2.9, [180:32] in the line following the line "DEALLOCATE (A)" 180 32 000081 883 c change 'availability' to 'pointer association status'. 180 37 000081 885 a Pointer actual argument overlap 180 37 000081 885 b X3J3 consideration in progress 180 37 000081 885 c 3. In section 12.5.2.9, [180:37] in the second to last paragraph on page 180 37 000081 886 c 180, after "the same procedure" add 180 37 000081 887 c 180 37 000081 888 c "and the dummy arguments have neither the POINTER nor the TARGET attribute". 181 8 000081 890 a Pointer actual argument overlap 181 8 000081 890 b X3J3 consideration in progress 181 8 000081 890 c 4. In section 12.5.2.9, [181:8] in line 8 of page 181, after "CALL SUB(B,C)" add 181 8 000081 891 c 181 8 000081 892 c "! The dummy arguments of SUB are neither pointers nor targets". 181 17 000081 894 a Pointer actual argument overlap 181 17 000081 894 b X3J3 consideration in progress 181 17 000081 894 c 5. In section 12.5.2.9, [181:17-19] Replace the first three lines of item (2) by 181 17 000081 895 c 181 17 000081 896 c "If the pointer association status of any part of the entity is 181 17 000081 897 c affected through the dummy argument, then at any time during the 181 17 000081 898 c execution of the procedure, either before or after the definition, it 181 17 000081 899 c may be referenced only through that dummy argument. If the value of 181 17 000081 900 c any part of the entity is affected through the dummy argument, then 181 17 000081 901 c at any time during the execution of the procedure, either before or 181 17 000081 902 c after the definition, it may be referenced only through that dummy 181 17 000081 903 c argument unless 181 17 000081 904 c 181 17 000081 905 c (a) the dummy argument has the POINTER attribute, 181 17 000081 906 c (b) the part is all or part of a pointer subobject, or 181 17 000081 907 c (c) the dummy argument has the TARGET attribute, the dummy 181 17 000081 908 c argument does not have INTENT(IN), and the actual argument is a 181 17 000081 909 c target other than an array section with a vector subscript. 181 17 000081 910 c 181 17 000081 911 c For example, in" 182 4 000052 134 a Expressions in statement function definitions 182 4 000052 134 b Published 182 4 000052 134 c 1. Section 12.5.4: First constraint, first sentence [182:4] 182 4 000052 135 c change "references to scalar variables and array elements" 182 4 000052 136 c to "references to variables" 182 4 000052 137 c 182 4 000052 138 c change "intrinsic operators" 182 4 000052 139 c to "intrinsic operations" 182 4 000052 140 c 182 4 000052 141 c after first sentence add 182 4 000052 142 c 182 4 000052 143 c If contains a reference to a function or a function 182 4 000052 144 c dummy procedure, the reference must not require an explicit 182 4 000052 145 c interface, the function must not require an explicit interface or 182 4 000052 146 c be a transformational intrinsic, and the result must be scalar. 182 4 000052 147 c If an argument to a function or a function dummy procedure is array 182 4 000052 148 c valued, it must be an array name. 182 4 000149 1296 a Statement Function - Array constants in expressions, "composed" 182 4 000149 1296 b X3J3 approved; ready for WG5 182 4 000149 1296 c In section 12.5.4, in the first sentence of the first constraint, [182:4] 182 4 000149 1297 c 182 4 000149 1298 c change "The may be composed only of" 182 4 000149 1299 c to "The primaries of the must be". 182 4 000182 1170 a Intrinsics in statement functions 182 4 000182 1170 b X3J3 approved; ready for WG5 182 4 000182 1170 c Section 12.5.4. first constraint, in the second sentence, as supplied in 182 4 000182 1171 c corrigendum 1 [182:4] 182 4 000182 1172 c 182 4 000182 1173 c change "the function must not require an explicit interface or 182 4 000182 1174 c be a transformational intrinsic," 182 4 000182 1175 c 182 4 000182 1176 c to "the function, if it is not an intrinsic, must not 182 4 000182 1177 c require an explicit interface, the function must not be 182 4 000182 1178 c a transformational intrinsic," 182 12 000052 150 a Expressions in statement function definitions 182 12 000052 150 b Published 182 12 000052 150 c 2. Section 12.5.4: Second constraint, third sentence [182:12] 182 12 000052 151 c change "scalar variable, array element" 182 12 000052 152 c to "variable" 182 12 000103 91 a Statement Function with unreferenced dummy argument 182 12 000103 91 b Published 182 12 000103 91 c In section 12.5.4 split the second constraint at "If a scalar variable 182 12 000103 92 c ..." [182:12] into a new constraint and add "dummy-arg-name," just before 182 12 000103 93 c "scalar variable". 182 19 000052 154 a Expressions in statement function definitions 182 19 000052 154 b Published 182 19 000052 154 c 3. Section 12.5.4: Fifth constraint, first sentence delete second word 182 19 000052 155 c ("scalar") [182:19] 182 20 000062 544 a Statement function constraints 182 20 000062 544 b Published 182 20 000062 544 c In the last constraint after R1226 in section 12.5.4 182 20 000062 545 c replace "local to" 182 20 000062 546 c with "accessible in". [182:20] 184 1 000184 1339 a Intent of intrinsic dummy arguments 184 1 000184 1339 b X3J3 consideration in progress 184 1 000184 1339 c Add a new section 13.4 [184:1] and renumber all following sections 184 1 000184 1340 c appropriately. 184 1 000184 1341 c 184 1 000184 1342 c "13.4 Argument intents 184 1 000184 1343 c 184 1 000184 1344 c The dummy arguments of the specific intrinsic procedures in 13.12 have 184 1 000184 1345 c INTENT(IN). The nonpointer dummy arguments of the generic intrinsic 184 1 000184 1346 c procedures in 13.13 have INTENT(IN) if the intent is not stated explicitly." 184 18 000159 2527 a May undefined expressions be used as arguments to INQUIRY functions 184 18 000159 2527 b WG5 approved; ready for SC22 184 18 000159 2527 c 1. In section 13.5.4 Character Inquiry Function [184:18-19] 184 18 000159 2528 c replace the second sentence "The value of ...." 184 18 000159 2529 c 184 18 000159 2530 c with "If the argument to this function consists of a single primary 184 18 000159 2531 c (7.1.1.1) that is a variable name, that variable need not be defined." 185 4 000159 2533 a May undefined expressions be used as arguments to INQUIRY functions 185 4 000159 2533 b WG5 approved; ready for SC22 185 4 000159 2533 c 2. In section 13.5.7 Bit Manipulation and Inquiry Procedures [185:4-5] 185 4 000159 2534 c In the paragraph beginning "An inquiry ..." 185 4 000159 2535 c replace the second sentence "The value of ...." 185 4 000159 2536 c 185 4 000159 2537 c with "If the argument to this function consists of a single primary 185 4 000159 2538 c (7.1.1.1) that is a variable name, that variable need not be defined, 185 4 000159 2539 c if a pointer it may have undefined or disassociated association status, 185 4 000159 2540 c and if allocatable it need not be allocated." 186 7 000159 2542 a May undefined expressions be used as arguments to INQUIRY functions 186 7 000159 2542 b WG5 approved; ready for SC22 186 7 000159 2542 c 3. In section 13.7.2 Numeric Inquiry Functions [186:7-8] 186 7 000159 2543 c replace the last sentence "The value of ...." 186 7 000159 2544 c 186 7 000159 2545 c with "If the argument to these functions consists of a single primary 186 7 000159 2546 c (7.1.1.1) that is a variable name, that variable need not be defined, 186 7 000159 2547 c if a pointer it may have undefined or disassociated association status, 186 7 000159 2548 c and if allocatable it need not be allocated." 187 12 000159 2550 a May undefined expressions be used as arguments to INQUIRY functions 187 12 000159 2550 b WG5 approved; ready for SC22 187 12 000159 2550 c 4. In section 13.8.5 Array Inquiry Functions [187:12] 187 12 000159 2551 c replace the second paragraph "The values of ..." 187 12 000159 2552 c 187 12 000159 2553 c with "If an array argument to these functions consists of a single primary 187 12 000159 2554 c (7.1.1.1) that is a variable name, that variable need not be defined." 188 7 000148 1248 a RANDOM_SEED, RANDOM_NUMBER 188 7 000148 1248 b X3J3 consideration in progress 188 7 000148 1248 c In section 13.9.2 add the following text after the last sentence 188 7 000148 1249 c of the section [188:7+] 188 7 000148 1250 c 188 7 000148 1251 c "The pseudorandom number generator accessed by RANDOM_SEED and 188 7 000148 1252 c RANDOM_NUMBER maintains a seed that is updated during the execution 188 7 000148 1253 c of RANDOM_NUMBER and that may be specified or returned by 188 7 000148 1254 c RANDOM_SEED. Following execution of the statements 188 7 000148 1255 c 188 7 000148 1256 c CALL RANDOM_SEED(PUT=SEED1) 188 7 000148 1257 c CALL RANDOM_SEED(GET=SEED2) 188 7 000148 1258 c 188 7 000148 1259 c SEED1 need not equal SEED2. However calls to RANDOM_NUMBER 188 7 000148 1260 c immediately after a call to RANDOM_SEED with a seed that is either 188 7 000148 1261 c SEED1 or SEED2 return the same sequence of pseudorandom numbers. 188 7 000148 1262 c In particular, after subsequent execution of the statements 188 7 000148 1263 c 188 7 000148 1264 c CALL RANDOM_NUMBER(X1) 188 7 000148 1265 c CALL RANDOM_SEED(PUT=SEED2) 188 7 000148 1266 c CALL RANDOM_NUMBER(X2) 188 7 000148 1267 c 188 7 000148 1268 c X1 equals X2." 198 33 000109 450 a Intrinsic function ASSOCIATED 198 33 000109 450 b Published 198 33 000109 450 c In 13.13.13 in the specification of the result type, add "scalar" after 198 33 000109 451 c "default logical". [198:33] 198 37 000100 95 a ASSOCIATED intrinsic and zero-sized objects 198 37 000100 95 b X3J3 approved; ready for WG5 198 37 000100 95 c 1. Section 13.13.13 Case (ii) [198:37], replace by 198 37 000100 96 c 198 37 000100 97 c "If TARGET is present and is a target, the result is true if TARGET 198 37 000100 98 c does not have size zero and POINTER is currently associated with 198 37 000100 99 c TARGET. Otherwise, the result is false." 199 1 000100 101 a ASSOCIATED intrinsic and zero-sized objects 199 1 000100 101 b X3J3 approved; ready for WG5 199 1 000100 101 c 2. Section 13.13.13 Case (iii) [199:1], replace by 199 1 000100 102 c 199 1 000100 103 c "If TARGET is present and is a pointer, the result is true if both POINTER 199 1 000100 104 c and TARGET are currently associated with the same nonzero-sized target. 199 1 000100 105 c Otherwise the result is false." 203 23 00000a 39 a Minor edits and corrections for Technical Corrigendum #1 203 23 00000a 39 b Published 203 23 00000a 39 c 5. 13.13.25, Result Value, Case (ii), at beginning of the third line 203 23 00000a 40 c [203:23]; Change "1,sh" to "sh,1". 205 7 000171 701 a Equivalence of DBLE(A) and REAL(A,KIND(0.0D0)) Intrinsics 205 7 000171 701 b X3J3 approved; ready for WG5 205 7 000171 701 c In 13.13.27 DBLE, replace the text of the 'Result Value' section with: 205 7 000171 702 c [205:7-11] 205 7 000171 703 c 205 7 000171 704 c "The result has the value REAL (A, KIND (0.0D0) )." 210 23 00000b 113 a Minor edits and corrections for Technical Corrigendum #2 210 23 00000b 113 b WG5 approved; ready for SC22 210 23 00000b 113 c 6. In 13.13.42 IBITS, Result value, 210 23 00000b 114 c 210 23 00000b 115 c change '.... bit POS right-adjusted' 210 23 00000b 116 c to '.... bit POS, right-adjusted' [210:23] 210 23 00000b 117 c 210 23 00000b 118 c Rationale: it is the result, not POS, that is right-adjusted. 214 22 000124 1099 a Result of LBOUND for assumed-size arrays 214 22 000124 1099 b WG5 approved; ready for SC22 214 22 000124 1099 c In section 13.13.52 replace the text of case (i) [214:22-25] with: 214 22 000124 1100 c 214 22 000124 1101 c "For an array section or for an array expression other than a whole 214 22 000124 1102 c array or array structure component, LBOUND(ARRAY,DIM) has the value 214 22 000124 1103 c 1. For a whole array or array structure component, LBOUND(ARRAY,DIM) 214 22 000124 1104 c has the value: 214 22 000124 1105 c (a) equal to the lower bound for subscript DIM of ARRAY if dimension 214 22 000124 1106 c DIM of ARRAY does not have extent zero or if ARRAY is an 214 22 000124 1107 c assumed-size array of rank DIM, or 214 22 000124 1108 c (b) 1 otherwise." 220 25 00000a 42 a Minor edits and corrections for Technical Corrigendum #1 220 25 00000a 42 b Published 220 25 00000a 42 c 6. 13.13.66, Result Value, Case (iii) [220:25]; Change",[" to "[" 220 25 00000a 43 c (i.e. delete comma). 226 17 000120 971 a PRESENT intrinsic and host association 226 17 000120 971 b Published 226 17 000120 971 c Replace the description of Argument in 13.13.80 [226:17] with 226 17 000120 972 c 226 17 000120 973 c "A must be the name of an optional dummy argument that is accessible in 226 17 000120 974 c the procedure in which the PRESENT function reference appears." 228 9 000176 840 a Definition of RANDOM_SEED 228 9 000176 840 b Hold, X3J3 approved; HOLD for defect item 000148 228 9 000176 840 c 1. In 13.13.84, RANDOM_SEED, PUT argument, replace the last sentence 228 9 000176 841 c (beginning "It is used by the processor ...") with [228:9]: 228 9 000176 842 c 228 9 000176 843 c "It is used in a processor-dependent manner to compute the seed value 228 9 000176 844 c accessed by the pseudorandom number generator." 234 6 000064 604 a SPACING result for 0.0 234 6 000064 604 b Published 234 6 000064 604 c In section 13.13.100, after "Result Value." 234 6 000064 605 c change "The" 234 6 000064 606 c to "If X is not zero, the". 234 6 000064 607 c 234 6 000064 608 c In the same section, 234 6 000064 609 c change "; otherwise " 234 6 000064 610 c to ". Otherwise". [234:6] 236 11 000132 1678 a SYSTEM_CLOCK intrinsic conformance requirements 236 11 000132 1678 b WG5 approved; ready for SC22 236 11 000132 1678 c In section 13.13.104, SYSTEM_CLOCK, change the text for COUNT_RATE 236 11 000132 1679 c from 'the number' 236 11 000132 1680 c to 'a processor-dependent approximation to the number' [236:11] 241 29 000141 724 a Generic name same as specific name 241 29 000141 724 b X3J3 approved; ready for WG5 241 29 000141 724 c In 14.1.2, paragraph 2, line 1 [241:29], before "or" add 241 29 000141 725 c 241 29 000141 726 c ", an external procedure name that is also a generic name (12.3.2.1),". 242 13 000090 1284 a Subroutine and function names in nested scopes 242 13 000090 1284 b X3J3 approved; ready for WG5 242 13 000090 1284 c 5. At the end of the last sentence of section 14.1.2 add: [242:13] 242 13 000090 1285 c 242 13 000090 1286 c "except in the following cases: 242 13 000090 1287 c 242 13 000090 1288 c (1) The name that appears as a in a has limited use within the scope established by the 242 13 000090 1290 c . It can be used to identify recursive 242 13 000090 1291 c references of the subroutine or to identify the name of a common 242 13 000090 1292 c block (the latter is possible only for internal and module 242 13 000090 1293 c subroutines). 242 13 000090 1294 c 242 13 000090 1295 c (2) The name that appears as a in a 242 13 000090 1296 c has limited use within the scope established by that . It can be used to identify the result variable, to identify 242 13 000090 1298 c recursive references of the function, or to identify the name of a 242 13 000090 1299 c common block (this last use is possible only for internal and module 242 13 000090 1300 c functions). 242 13 000090 1301 c 242 13 000090 1302 c (3) The name that appears as an in an has 242 13 000090 1303 c limited use within the scope of the subprogram in which the 242 13 000090 1304 c appears. It can be used to identify the name of a 242 13 000090 1305 c common block (if the ENTRY statement is in a module subprogram), 242 13 000090 1306 c to identify recursive references, or if the subprogram is a function 242 13 000090 1307 c to identify the result variable." 242 27 000180 1085 a Unambiguous generic references 242 27 000180 1085 b X3J3 consideration in progress 242 27 000180 1085 c 1. Add to the end of the first sentence of section 14.1.2.3 [242:27] 242 27 000180 1086 c 242 27 000180 1087 c "when the generic interfaces for each of the specific procedures are 242 27 000180 1088 c declared in the same scoping unit or accessed via use association." 242 28 000083 1011 a Extending generic intrinsic procedures 242 28 000083 1011 b X3J3 consideration in progress 242 28 000083 1011 c 2. In section 14.1.2.3 in the third sentence [242:28]: 242 28 000083 1012 c change "When an intrinsic procedure, operator, or" 242 28 000083 1013 c to "When an intrinsic operator or" 242 32 000180 1090 a Unambiguous generic references 242 32 000180 1090 b X3J3 consideration in progress 242 32 000180 1090 c 2. Add to the end of the first paragraph of section 14.1.2.3 [242:32] 242 32 000180 1091 c 242 32 000180 1092 c "When a generic procedure is accessed from a host scoping unit, the steps 242 32 000180 1093 c for resolving a procedure reference as described in 14.1.2.4.1 have the 242 32 000180 1094 c same effect as if the rules restricted which specific versions from the 242 32 000180 1095 c host scoping unit can be accessed via the generic reference." 242 38 000183 1264 a Unambiguous procedure overloading 242 38 000183 1264 b X3J3 approved; ready for WG5 242 38 000183 1264 c 1. In section 14.1.2.3, in the third paragraph [242:38] 242 38 000183 1265 c 242 38 000183 1266 c change "and at least one of them must have a nonoptional dummy argument that" 242 38 000183 1267 c to "and 242 38 000183 1268 c (1) one of them has more nonoptional dummy arguments of a 242 38 000183 1269 c particular data type, kind type parameter, and rank than 242 38 000183 1270 c the other has dummy arguments (including optional 242 38 000183 1271 c dummy arguments) of that data type, kind type parameter, 242 38 000183 1272 c and rank; or 242 38 000183 1273 c (2) at least one of them must have a nonoptional dummy argument 242 38 000183 1274 c that" 242 38 000183 1275 c 242 38 000183 1276 c and indent numbers (1) and (2) to be a sublist of list item (2); 242 38 000183 1277 c changing them to be (a) and (b) respectively. 243 10 000183 1279 a Unambiguous procedure overloading 243 10 000183 1279 b X3J3 approved; ready for WG5 243 10 000183 1279 c 2. In section 14.1.2.3, in the text after the example [243:10-11] 243 10 000183 1280 c change "(1)" to "(2)(a)" twice 243 10 000183 1281 c change "(2)" to "(2)(b)" twice 243 10 000183 1282 c 245 3 00000b 104 a Minor edits and corrections for Technical Corrigendum #2 245 3 00000b 104 b WG5 approved; ready for SC22 245 3 00000b 104 c 5. Page 245, section 14.1.2.5, in the second sentence [245:3] 245 3 00000b 105 c 245 3 00000b 106 c change 'It' 245 3 00000b 107 c to 'Outside the type definition, it'. 245 3 00000b 108 c 245 3 00000b 109 c Reason: a component name appears in the derived type definition 245 3 00000b 110 c as well as possibly appearing in a component of a 245 3 00000b 111 c structure of that type. 245 14 000170 2947 a Argument Keywords and Intrinsic Procedures 245 14 000170 2947 b WG5 approved; ready for SC22 245 14 000170 2947 c In section 14.1.2.6 add a new paragraph after the current 245 14 000170 2948 c paragraph. [245:14+] 245 14 000170 2949 c 245 14 000170 2950 c "A dummy argument name in an intrinsic procedure has a scope as an 245 14 000170 2951 c argument keyword of the scoping unit making reference to it. 245 14 000170 2952 c As an argument keyword, it may appear only in a procedure reference 245 14 000170 2953 c for the procedure of which it is a dummy argument." 245 23 000031 1689 a Overloaded implied-DO variable names 245 23 000031 1689 b Published 245 23 000031 1689 c Replace the last paragraph of section 14.1.3 with the following two 245 23 000031 1690 c paragraphs: [245:23] 245 23 000031 1691 c 245 23 000031 1692 c Except for a common block name or a scalar variable name, a name that 245 23 000031 1693 c identifies a global entity or local entity of class 1 (14.1.2) 245 23 000031 1694 c accessible in the scoping unit of a statement must not be the name of 245 23 000031 1695 c a statement entity of that statement. Within the scope of a 245 23 000031 1696 c statement entity, another statement entity must not have the same name. 245 23 000031 1697 c 245 23 000031 1698 c If the name of a global or local entity accessible in the scoping unit of 245 23 000031 1699 c a statement is the same as the name of a statement entity in that 245 23 000031 1700 c statement, the name is interpreted within the scope of the statement 245 23 000031 1701 c entity as that of the statement entity. Elsewhere in the scoping unit, 245 23 000031 1702 c including parts of the statement outside the scope of the statement 245 23 000031 1703 c entity, the name is interpreted as that of the global or local entity. 247 2 000068 879 a Pointer association status 247 2 000068 879 b Published 247 2 000068 879 c 1. In section 14.6.2.1, item (3) subitem (c), delete "or" [247:2] 247 4 000068 881 a Pointer association status 247 4 000068 881 b Published 247 4 000068 881 c 2. The reference to section 6.3.3.2 in 14.6.2.1 (3) (d) is misleading. 247 4 000068 882 c In section 14.6.2.1, item (3) subitem (d), remove "6.3.3.2," 247 4 000068 883 c and change the period at the end to ", or" [247:4]. 247 4 000068 885 a Pointer association status 247 4 000068 885 b Published 247 4 000068 885 c 3. The list in section 14.6.2.1, item (3), of ways that pointer 247 4 000068 886 c association status can become undefined is incomplete. 247 4 000068 887 c In section 14.6.2.1, item (3) add a new subitem as follows: [247:4] 247 4 000068 888 c 247 4 000068 889 c (e) After the execution of a RETURN or END statement in a procedure 247 4 000068 890 c where the pointer was either declared or, with the exceptions 247 4 000068 891 c described in 6.3.3.2, accessed. 248 15 000154 92 a EQUIVALENCE and zero-sized sequences 248 15 000154 92 b X3J3 consideration in progress 248 15 000154 92 c In section 14.6.3.2 [248:15], after the last sentence in the second 248 15 000154 93 c paragraph, add "Two zero-sized subobjects of the same object are the same zero 248 15 000154 94 c sized storage sequence.". 248 40 000126 1303 a Character Entry statements and Partial Association 248 40 000126 1303 b WG5 approved; ready for SC22 248 40 000126 1303 c In section 14.6.3.3 in the sentence (last two lines of page 248) 248 40 000126 1304 c [248:40-41] "For character entities, partial association may occur only through 248 40 000126 1305 c argument association, or the use of COMMON, EQUIVALENCE, or ENTRY statements." 248 40 000126 1306 c 248 40 000126 1307 c change "COMMON, EQUIVALENCE, or ENTRY" 248 40 000126 1308 c to "COMMON or EQUIVALENCE" 250 24 00000b 99 a Minor edits and corrections for Technical Corrigendum #2 250 24 00000b 99 b WG5 approved; ready for SC22 250 24 00000b 99 c 4. Page 250, section 14.7.5, item (8) 250 24 00000b 100 c change 'input/output IOSTAT= specifier' 250 24 00000b 101 c to 'IOSTAT= specifier' 250 24 00000b 102 c Reason: 'input/output' is redundant. [250:24] 251 43 000150 2076 a Undefinition of implied-DO variables in I/O statements 251 43 000150 2076 b WG5 approved; ready for SC22 251 43 000150 2076 c 3. Section 14.7.6, item (6) [251:43-45], 251 43 000150 2077 c change 251 43 000150 2078 c input/output statement, some or all of the implied-DO variables may 251 43 000150 2079 c become 251 43 000150 2080 c to 251 43 000150 2081 c input/output statement and the statement contains any implied-DOs, 251 43 000150 2082 c all of the implied-DO variables in the statement become 255 27 00000a 45 a Minor edits and corrections for Technical Corrigendum #1 255 27 00000a 45 b Published 255 27 00000a 45 c 7. Annex A, conformable [255:27]; Change "2.4.7" to "2.4.5". 255 38 00000a 47 a Minor edits and corrections for Technical Corrigendum #1 255 38 00000a 47 b Published 255 38 00000a 47 c 8. Annex A, constant [255:38]; Change "2.4.4" to "2.4.3.1.2". 255 42 00000b 138 a Minor edits and corrections for Technical Corrigendum #2 255 42 00000b 138 b WG5 approved; ready for SC22 255 42 00000b 138 c 13. Annex A, [255:42] 255 42 00000b 139 c Change "CASE" to "SELECT CASE" 256 10 000096 1497 a Definition of "Declaration" 256 10 000096 1497 b X3J3 consideration in progress 256 10 000096 1497 c 5. In Annex A, add to page 256 after "datum" [256:10+] 256 10 000096 1498 c 256 10 000096 1499 c Declaration(2.5.3): A declaration specifies the existence of a data object. 256 23 00000a 49 a Minor edits and corrections for Technical Corrigendum #1 256 23 00000a 49 b Published 256 23 00000a 49 c 9. Annex A, derived type [256:23]; Change "2," to "2)". 256 38 000077 1245 a Miscellaneous questions 256 38 000077 1245 b WG5 approved; ready for SC22 256 38 000077 1245 c 1. In Annex A, in the entry for "entity", 256 38 000077 1246 c replace "a , an , a of a 256 38 000077 1247 c , a " 256 38 000077 1248 c with "a ". [256:38-39] 257 8 00000a 51 a Minor edits and corrections for Technical Corrigendum #1 257 8 00000a 51 b Published 257 8 00000a 51 c 10. Annex A, extent [257:8]; Change "2.4.7" to " 2.4.5". 257 29 00000b 95 a Minor edits and corrections for Technical Corrigendum #2 257 29 00000b 95 b WG5 approved; ready for SC22 257 29 00000b 95 c 2. Annex A, host association [257:29]; Change "11.2.2" to "12.1.2.2.1". 258 19 00000a 53 a Minor edits and corrections for Technical Corrigendum #1 258 19 00000a 53 b Published 258 19 00000a 53 c 11. Annex A, literal constant [258:19]; Change "2.4.4" to "2.4.3.1.2". 258 22 00000a 55 a Minor edits and corrections for Technical Corrigendum #1 258 22 00000a 55 b Published 258 22 00000a 55 c 12. Annex A, main program [258:22]; Change "2," to "2)". 258 22 000077 1250 a Miscellaneous questions 258 22 000077 1250 b WG5 approved; ready for SC22 258 22 000077 1250 c 2. In Annex A, in the entry for "main program", 258 22 000077 1251 c replace "" 258 22 000077 1252 c with "" [258:22] 258 25 00000a 57 a Minor edits and corrections for Technical Corrigendum #1 258 25 00000a 57 b Published 258 25 00000a 57 c 13. Annex A, module [258:25]; Change "4," to "4)". 258 34 00000a 59 a Minor edits and corrections for Technical Corrigendum #1 258 34 00000a 59 b Published 258 34 00000a 59 c 14. Annex A, named constant [258:34]; Change "2.4.4" to "2.4.3.1.2". 259 19 00000a 61 a Minor edits and corrections for Technical Corrigendum #1 259 19 00000a 61 b Published 259 19 00000a 61 c 15. Annex A, procedure [259:19]; Change "3," to "3)". 259 31 00000a 63 a Minor edits and corrections for Technical Corrigendum #1 259 31 00000a 63 b Published 259 31 00000a 63 c 16. Annex A, rank [259:31]; Change "2.4.7" to "2.4.5". 260 12 00000a 65 a Minor edits and corrections for Technical Corrigendum #1 260 12 00000a 65 b Published 260 12 00000a 65 c 17. Annex A, shape [ 260:12]; Change "2.4.7" to "2.4.5". 260 14 00000a 67 a Minor edits and corrections for Technical Corrigendum #1 260 14 00000a 67 b Published 260 14 00000a 67 c 18. Annex A, size [260:14]; Change "2.4.7" to "2.4.5". 260 14 000096 1501 a Definition of "Declaration" 260 14 000096 1501 b X3J3 consideration in progress 260 14 000096 1501 c 6. In Annex A, add to page 260 after "size" [260:14+] 260 14 000096 1502 c 260 14 000096 1503 c Specification: A specification assigns attributes and properties to names. 260 35 00000a 69 a Minor edits and corrections for Technical Corrigendum #1 260 35 00000a 69 b Published 260 35 00000a 69 c 19. Annex A, subobject [260:35]; Change "2.4.3.2" to "2.4.3.1". 261 9 00000a 71 a Minor edits and corrections for Technical Corrigendum #1 261 9 00000a 71 b Published 261 9 00000a 71 c 20. Annex A, target [261:9]; Change "specified in a" to "specified in 261 9 00000a 72 c a TARGET statement or". 261 30 00000a 74 a Minor edits and corrections for Technical Corrigendum #1 261 30 00000a 74 b Published 261 30 00000a 74 c 21. Annex A, variable [261:30]; Change "2.4.5" to "2.4.3.1.1". 266 17 00000b 141 a Minor edits and corrections for Technical Corrigendum #2 266 17 00000b 141 b WG5 approved; ready for SC22 266 17 00000b 141 c 14. Section C4.3 [266:17] 266 17 00000b 142 c Change "KIND" to "kind". 269 21 000041 364 a Procedure with target dummy argument requires explicit interface 269 21 000041 364 b X3J3 approved; ready for WG5 269 21 000041 364 c Section C.5.3, second sentence, change "solely" to "primarily". [269:21] 269 23 000187 1585 a TARGET attribute, storage association, and pointer association 269 23 000187 1585 b X3J3 consideration in progress 269 23 000187 1585 c 3. Delete the fourth sentence of C.5.3 [269:23-25]. 273 14 00000b 97 a Minor edits and corrections for Technical Corrigendum #2 273 14 00000b 97 b WG5 approved; ready for SC22 273 14 00000b 97 c 3. Annex C, first example [273:14]; change "ENDTYPE" to "END TYPE". 281 5 00000b 144 a Minor edits and corrections for Technical Corrigendum #2 281 5 00000b 144 b WG5 approved; ready for SC22 281 5 00000b 144 c 15. Section C10 [281:5] 281 5 00000b 145 c Change "an apostrophe edit descriptor" 281 5 00000b 146 c to "a character constant edit descriptor delimited with apostrophes" 281 6 00000b 148 a Minor edits and corrections for Technical Corrigendum #2 281 6 00000b 148 b WG5 approved; ready for SC22 281 6 00000b 148 c 16. Section C10 [281:6-7] 281 6 00000b 149 c Change "the apostrophe edit descriptor" twice 281 6 00000b 150 c to "the edit descriptor" 281 6 00000b 151 c 281 6 00000b 152 c Rationale: for 15 and 16: In section 10 the term "apostrophe edit 281 6 00000b 153 c descriptor" is absent (see 10.2.1 and 10.7.1) 286 16 000153 2230 a Defined Operations, dummy arguments INTENT(IN) 286 16 000153 2230 b WG5 approved; ready for SC22 286 16 000153 2230 c 1. Section C.11.4, in function ELEMENT [286:16,17], change 286 16 000153 2231 c INTEGER X 286 16 000153 2232 c to 286 16 000153 2233 c INTEGER, INTENT(IN) :: X 286 16 000153 2234 c and change 286 16 000153 2235 c TYPE (SET) A 286 16 000153 2236 c to 286 16 000153 2237 c TYPE (SET), INTENT(IN) :: A 286 21 000153 2239 a Defined Operations, dummy arguments INTENT(IN) 286 21 000153 2239 b WG5 approved; ready for SC22 286 21 000153 2239 c 2. Section C.11.4, in function UNION [286:21], change 286 21 000153 2240 c TYPE (SET) A, B, UNION 286 21 000153 2241 c to 286 21 000153 2242 c TYPE (SET) UNION 286 21 000153 2243 c TYPE (SET), INTENT(IN) :: A, B 286 37 000153 2245 a Defined Operations, dummy arguments INTENT(IN) 286 37 000153 2245 b WG5 approved; ready for SC22 286 37 000153 2245 c 3. Section C.11.4, in function DIFFERENCE [286:37], change 286 37 000153 2246 c TYPE (SET) A, B, DIFFERENCE 286 37 000153 2247 c to 286 37 000153 2248 c TYPE (SET) DIFFERENCE 286 37 000153 2249 c TYPE (SET), INTENT(IN) :: A, B 287 2 000153 2251 a Defined Operations, dummy arguments INTENT(IN) 287 2 000153 2251 b WG5 approved; ready for SC22 287 2 000153 2251 c 4. Section C.11.4, in function INTERSECTION [287:2], change 287 2 000153 2252 c TYPE (SET) A, B, INTERSECTION 287 2 000153 2253 c to 287 2 000153 2254 c TYPE (SET) INTERSECTION 287 2 000153 2255 c TYPE (SET), INTENT(IN) :: A, B 287 6 000153 2257 a Defined Operations, dummy arguments INTENT(IN) 287 6 000153 2257 b WG5 approved; ready for SC22 287 6 000153 2257 c 5. Section C.11.4, in function SUBSET [287:6], change 287 6 000153 2258 c TYPE (SET) A, B 287 6 000153 2259 c to 287 6 000153 2260 c TYPE (SET), INTENT(IN) :: A, B 291 40 000081 913 a Pointer actual argument overlap 291 40 000081 913 b X3J3 consideration in progress 291 40 000081 913 c 6. In section C.12.7, [291:40-42] Replace lines 3 to 5 by 291 40 000081 914 c 291 40 000081 915 c "The restrictions on entities associated with dummy arguments are 291 40 000081 916 c intended to allow a variety of optimizations in the translation of 291 40 000081 917 c the procedure, including implementations of argument association 291 40 000081 918 c in which the value of an actual argument that is neither a pointer 291 40 000081 919 c nor a target is maintained in a register or in local storage." ' 292 5 000125 1205 a Copy in/copy out of target dummy arguments 292 5 000125 1205 b WG5 approved; ready for SC22 292 5 000125 1205 c 4. Section C.12.8, delete the second paragraph through the end of 292 5 000125 1206 c the section [292:5-37] and replace with 292 5 000125 1207 c 292 5 000125 1208 c "When execution of a procedure completes, any pointer that remains 292 5 000125 1209 c defined and that is associated with a dummy argument that has the 292 5 000125 1210 c TARGET attribute, remains associated with the corresponding actual 292 5 000125 1211 c argument if the actual argument has the TARGET attribute and is 292 5 000125 1212 c not an array section with a vector subscript. 292 5 000125 1213 c 292 5 000125 1214 c REAL, POINTER :: PBEST 292 5 000125 1215 c REAL, TARGET :: B (10000) 292 5 000125 1216 c CALL BEST (PBEST, B) ! Upon return PBEST is associated 292 5 000125 1217 c ... ! with the "best" element of B 292 5 000125 1218 c CONTAINS 292 5 000125 1219 c SUBROUTINE BEST (P, A) 292 5 000125 1220 c REAL, POINTER :: P 292 5 000125 1221 c REAL, TARGET :: A (:) 292 5 000125 1222 c ... ! Find the "best" element A(I) 292 5 000125 1223 c P => A (I) 292 5 000125 1224 c RETURN 292 5 000125 1225 c END SUBROUTINE 292 5 000125 1226 c END 292 5 000125 1227 c 292 5 000125 1228 c When the procedure BEST completes, the pointer PBEST is 292 5 000125 1229 c associated with an element of B. 292 5 000125 1230 c 292 5 000125 1231 c An actual argument without the TARGET attribute can become 292 5 000125 1232 c associated with a dummy argument with the TARGET attribute. 292 5 000125 1233 c This permits pointers to become associated with the dummy 292 5 000125 1234 c argument during execution of the procedure that contains 292 5 000125 1235 c the dummy argument. For example: 292 5 000125 1236 c 292 5 000125 1237 c INTEGER LARGE(100,100) 292 5 000125 1238 c CALL SUB(LARGE) 292 5 000125 1239 c ... 292 5 000125 1240 c CALL SUB() 292 5 000125 1241 c CONTAINS 292 5 000125 1242 c SUBROUTINE SUB(ARG) 292 5 000125 1243 c INTEGER, TARGET, OPTIONAL :: ARG(100,100) 292 5 000125 1244 c INTEGER, POINTER, DIMENSION(:,:) :: PARG 292 5 000125 1245 c IF (PRESENT(ARG)) THEN 292 5 000125 1246 c PARG => ARG 292 5 000125 1247 c ELSE 292 5 000125 1248 c ALLOCATE (PARG(100,100)) 292 5 000125 1249 c PARG = 0 292 5 000125 1250 c ENDIF 292 5 000125 1251 c ... ! Code with lots of references to PARG 292 5 000125 1252 c IF (.NOT. PRESENT(ARG)) DEALLOCATE(PARG) 292 5 000125 1253 c END SUBROUTINE SUB 292 5 000125 1254 c END 292 5 000125 1255 c 292 5 000125 1256 c Within subroutine SUB the pointer PARG is either associated with 292 5 000125 1257 c the dummy argument ARG or it is associated with an allocated target. 292 5 000125 1258 c The bulk of the code can reference PARG without further calls to 292 5 000125 1259 c the PRESENT intrinsic." 294 39 00000b 155 a Minor edits and corrections for Technical Corrigendum #2 294 39 00000b 155 b WG5 approved; ready for SC22 294 39 00000b 155 c 17. Section C13.1.6.3 [294:39-42] 294 39 00000b 156 c Delete word: "Declared" (4 times) 294 39 00000b 157 c Capitalize the first word after the deleted "Declared"s 294 39 00000b 158 c 294 39 00000b 159 c Rationale: In section 13 descriptions of these functions do not 294 39 00000b 160 c contain the word "declared". These array inquire functions allow 294 39 00000b 161 c certain properties of an array to be determined dynamically. 339 3 00000b 127 a Minor edits and corrections for Technical Corrigendum #2 339 3 00000b 127 b WG5 approved; ready for SC22 339 3 00000b 127 c 10. Page 339, section D.2.3 [339:3], add after the line for "'" 339 3 00000b 128 c ' " R408 R409 R410 R420' 339 3 00000b 129 c 339 3 00000b 130 c Rationale: Terminal symbol " was omitted from list