To: J3 J3/22-119 From: David Muxworthy Subject: Referenced C standard Date: 2022-February-11 Reference: 22-007 Discussion ---------- This is to amplify a comment in the UK ballot on the Fortran CD (22-007). The reference to the C standard should be to the current edition (9899:2018) rather than to the withdrawn one (9899:2011). Since page 476 of the 2018 C standard states 'There are no major changes in this edition (__STDC_VERSION__ 201710L), only technical corrections and clarifications' the only change needed to the Fortran draft is a global edit of 9899:2011 to 9899:2018. In further detail: There are 38 references to the C standard, ten of which do not specify a subclause. Seventeen of the referenced subclauses are unchanged in the 2018 C standard. These are 3.2, 5.1.2.2.3, 6.2.2, 6.2.7, 6.3.2.3, 6.4.3, 6.5.3.2, 6.5.3.4, 6.5.9, 6.7.2.2, 7.13, 7.14.1, 7.16, 7.19, 7.20.1, 7.21.2 and 7.22.4.4. Three referenced subclauses have insignificant text changes ('International Standard' changed to 'document'). These are 3.4.3, 5.2.1 (twice) and 5.2.2. Four referenced subclauses have text changes but they do not affect the meaning so far as Fortran is concerned. These are: 3.4.3 Para 3: Note 2 added, viz 'J.2 gives an overview over properties of C programs that lead to undefined behavior.' 6.2.4 Para 8 'or full declarator' deleted after 'containing full expression'; also added: 'An object with temporary lifetime behaves as if it were declared with the type of its value for the purposes of effective type. Such an object need not have a unique address'. Also in forward ref added: 'effective type (6.5)' 6.2.5 Para 6 'corresponding unsigned integer type' changed from roman to italic. Para 18 added new note 46: Annex H documents the extent to which the C language supports the ISO/IEC 10967-1 standard for language-independent arithmetic (LIA-1). 6.7.6.3 Para 5: 'returning T' changed to 'returning the unqualified version of T'. Edits to 22-007 --------------- [2:7] Change '9899:2011' to '9899:2018' and perform a global edit throughout the remainder of the document. Note: The following C standard is a major revision and is scheduled to be published at the end of 2023.