To: J3 J3/21-182 From: John Reid Subject: US 21 Enumeration type. Date: 2021-October-12 Reference: 21-007r2 Discussion ---------- I think I have found some glitches associated with enumeration type in US 21. Edits are suggested. Edits to 21-007r2 ----------------- [9:21] In 3.58 definition, after "(7.6.1)," add "enumeration type (7.6.2)," so that the text reads " specification of the type, enumeration, or procedure". [36:17} In 5.3.2 Statement order, Table 5.1, under "Derived-type definitions," add "Enumeration-type definitions," [91:21-23] In 7.6.2 Enumerations types, in para 4 R771 and in para 6, change "int-expr" to "scalar-int-expr" thrice so that the text reads "R771 enumeration-constructor is enumeration-type-spec (scalar-int-expr) An enumeration constructor returns the value of the enumeration type whose ordinal position is the value of the scalar-int-expr. The scalar-int-expr shall have a value that is positive and less than or equal to the number of enumerators in the enumeration type's definition." [92:NOTE 1 (cont). In 7.6.2 Enumerations types, NOTE 1, subroutine wcheck, line 4, change "w 1" to "w1" so that the line reads Print *,'w1 selected' [114:29] In 8.6.1 Accessibility statement, C874, after "derived type," add "enumeration type," so that the constraint reads "C874 (R832) Each access-name shall be the name of a module, variable, procedure, derived type, enumeration type, named constant, or namelist group." [201:28} In 11.1.9.2 Execution of a SELECT CASE construct, para 1, item (1), change "integer or character" to "integer, character, or enumeration type" so that the item reads "(1) If the case value range contains a single value v without a colon, a match occurs for type logical if the expression c .EQV. v is true, and a match occurs for type integer, character, or enumeration type if the expression c == v is true."