To: J3 J3/25-175r6 From: generics Subject: Miscellaneous edits to incorporate templates Date: 2025-November-11 References: 25-007r1, 25-135r2, 25-136r2, 25-172, 25-173, 25--174, 25-140 1. Introduction =============== This is the 6th of 6 papers that provide edits for the approved syntax for templates. This paper describes various edits occurring outside the new new clause introduced in papers 1-5 that are necessary to incorporate the syntax and semantics for templates. Changes since r2 * Moved section references in glossary to NOTEs. * Improved "ultimately defined prior" definition in glossary * introduce new version of Table 5.2 - deleted one column and one row - repaired footnote * fixed various typos * define "same statement" as glossary term that includes template instance 2. Misc edits for templates =========================== Clause 3: Terms and definitions -------------------------------- [5:5+] Insert new glossary term: "3.7.2b [deferred argument association] association between an instantiation argument and a deferred argument NOTE 1 to entry: Deferred argument association is described in \ref{The INSTANTIATE statement}. [10:9+] Insert new glossary term "3.34.1 [deferred constant] a deferred argument with the PARAMETER attribute" [11:32+] Insert new glossary terms "3.46b [deferred argument] named entity that appears in a NOTE 1 to entry: Deferred arguments are described in \ref{Syntax for the TEMPLATE construct} [17:18+] Insert new glossary term "3.85b [instantiation argument] entity that determines deferred argument association" [23:29+] Insert new glossary term "3.117b [same instance] instantiation of the same template with the same instantiation arguments" [23:29+] Insert new glossary term "3.117c [same statement] the statement that is the one in which the subject appears, and if the statement is within a template, is from the same instance of the template." {UTI: The above definition could probably be improved} [24:3] 3.120 scoping unit: Change "or subprogram" to "subprogram, template construct, or requirement construct", such that the entire definition reads "BLOCK construct, derived-type definition, interface body, program unit (3.113), subprogram, template construct, or requirement construct, excluding all nested scoping units in it" {Note to editor (3.113 is \ref{program unit} and was already present in 25-007r1.)} [27:12] 3.139 subprogram: Change "or subroutine-subprogram (R1537)" to ", subroutine-subprogram (R1537), templated-function-subprogram, or templated-subroutine-subprogram", such that the entire definition now reads: " (R1532), (R1537), (R???), or (R???)" [32:16+] Insert new glossary term "3.151b [ultimately defined prior] accessed by host association with a definition that appears before the scoping unit in which it is referenced, or ultimately defined prior in the host scoping unit Clause 5: Fortran concepts -------------------------- [44:20-28] In 5.1 High level syntax, extend R508 specification-construct to include new syntax terms: