N3048 - Editor's Report, Post July 2022 Meeting

Welcome to Editor's Report n3048, which is for the Standard n3047.

You can read the last draft's editor's report here.

This report is after the very last C23 meeting in which documents can be ratified for C23. Now, we are in the "Balloting" stage for preparing a Standard to ship to ISO; specifically, the "Committee Draft" ("CD") Ballot stage. (See the schedule for more precise details here.) This means no new real work will be applied asides from whatever National Bodies attempt to force in through National Body Comments, or if we notice a gob-smacking, computer-breaking bug in the standard that needs to be fixed. (Or there's just some typos that need cleaning, those can be fixed too. It's a standard, not the Ark of the Covenant; changing it is fine.)

Integration

Full Integrations - July 2022 Virtual Meeting

The paper below was already integrated during the Post May 2022 meeting and is in Standard n3047, but it was not listed, so we are listing it here for everyone's records.

  • n2930: Change remove_quals to typeof_unqual.
  • n2939: Identifier Syntax Fixes.
  • n2940: Remove Trigraphs??!
  • n2969 (nice): Bit-Precise Bit Fields.
  • n2974: Queryable Pointer Alignment.
  • n3029: Improved Normal Enumerations.
  • n2975: Relax requirements for va_start.
  • n2993: Make *_HAS_SUBNORM Obsolete.
  • n3011: Oops, Empty Initializers in Compound Literals.
  • n3030: Enhanced Enumerations.
  • n2951: Freestanding C and IEC 60559 Conformance Scope Reduction.
  • n2956: Unsequenced Functions.
  • n3033: Comma Ommission and Deletion (__VA_OPT__ in C and Preprocessor Wording Improvements).
  • n3035: _BitInt(…) Fixes.
  • n3006: Underspecified Object Declarations.
  • n3007: Type Inference for Object Declarations.
  • n3018: constexpr for Object Definitions.
  • n3038: Introduce Storage Class Specifiers for Compound Literals.
  • n3034: Identifier Primary Expressions.
  • n3042: Introduce the nullptr_t constant, nullptr.
  • n2929: Memory Layout of Unions.
  • n3037: Improved Tag Compatibility.
  • n3020: Qualifier-preserving Standard Functions.
  • n3022: (Partial) Modern Bit Utilities.
  • n3017: #embed.
  • n2957: New Optional Time Bases.

Modern Bit Utilities (N3022) is marked as "partial", not because it was only partially integrated but because a significant part of the paper was left off for the next revision of the standard and did not make it into C23 (Endian-Aware Loads/Stores, Memory Reversal ("byteswap"), and Rotate Left/Rotate Right functions).

Full Integrations - May 2022 Virtual Meeting

The paper below was already integrated during the Post May 2022 meeting and is in Standard n2912, but it was not listed, so we are listing it here for everyone's records.

  • n2653: char8_t: A type for UTF-8 characters and strings
Full Integrations - May 2022 Virtual Meeting, Annex H

Annex H - The IEC 60599 Floating Point Interchange Specification for C - was integrated, but there were quite a few typos and missing functions. Many thanks to Joseph Myers, Jim Thomas, Vincent Refere, Rajan Bhakta, and Fred Tydeman for a thorough review catching a lot of the missing functions (3 whole pages of declarations 😅) and aiding in editing. These have been corrected and merged into the C Standard, as per their specification.

Editorial Changes

Quite frankly, there were too many to count this go-around and many were sent in. All of them should be fixed (but there will probably be many, many more).

There are a few things the editor is already aware of, namely:

  • Annex A contains overlaps and collisions between the specifications.
  • The footers for many of the annexes reference the wrong section numbers of specific pages.
  • There are some duplicate entries in the index.
  • The colors/matching for Annex H is entirely off.

These will be fixed before the final standard is released, but are mostly cosmetic screw ups and are currently being ignored ignored while all the more pressing issues are actually fixed up. Apologies for those of you who sent in such advice and feel like you are being ignored: you are not, it is logged in our internal database, there are just other fires to put out!

Nevertheless, please do not hesitate to send any spelling corrections, grammar suggestions, and typo fixes in. If you think that a change is significant enough to warrant a proposal, then you must Submit a Proposal and also convince one of the existing WG14 National Body Members to file a National Body comment on this upcoming Committee Draft. (You can also join ISO yourself through a National Body and become a designated representative / expert on your National Body, but the instructions are country and location-specific. Please see the bottom of the Contributing page to get started.)

Paper Submissions

The new paper submission system is still taking time. Life's hard when you're in the C23 crunch; apologies! We hope to have it up for paper submissions for the next revision of the standard.

— JeanHeyd Meneide, Project Editor <wg14@soasis.org>