To: J3 J3/20-114r1 From: Tom Clune Subject: Edits for TYPEOF and CLASSOF Date: 2020-February-26 Reference: 18-007r1, 19-142r1 1. Introduction: Paper 19-142r1 proposed syntax for new TYPEOF and CLASSOF statements. This paper proposes edits. 2. Edits: [xiii Introduction] Replace entirety of paragraph 2 with: "This revision of the Fortran language contains several extensions to Fortran 2018; these are listed below. Data declaration: TYPEOF and CLASSOF type specifiers can be used to declare one or more entities to have the same type and type parameters as another entity; " [55:19+ 7.3.2 Type specifiers and type compatibility] Append two lines to list: " <> TYPEOF() <> CLASSOF() " [55:27+ 7.3.2 Type specifiers and type compatibility] Insert " The TYPEOF type-specifier declares nonpolymorphic entities whose declared type and type parameters are the same as . Type parameters that are deferred in are deferred in the entities being declared. The CLASSOF type-specifier declares polymorphic entities whose declared type and type parameters are the same as . Type parameters that are deferred in are deferred in the entities being declared. C708a A that is a TYPEOF or CLASSOF specifier shall appear only in a type declaration statement or component definition statement. C708b The in a that is a TYPEOF or CLASSOF specifier shall have its type and type parameters previously declared or established by the implicit typing rules. C708c The in a that is a TYPEOF specifier shall not be unlimited polymorphic or of abstract type. C708d The in a that is a CLASSOF specifier shall not be of assumed type or intrinsic type. " [93 8.2 Type declaration statement] In Note 1 (cont'd), after the line declaring "K" insert the line " TYPEOF(K) :: K_TMP ! also has range at least -9999 to 9999. " [93 8.2 Type declaration statement] In Note 1 (cont'd), after the line declaring "MAT" insert the line " CLASSOF(MAT), POINTER :: MAT_REF ! same declared type and ! type parameters as MAT " { Note: the comments above are meant to be on the same line, but exceeded the line length for the paper upload.} ===END===