Updated Agenda for 31 January – 4 February, and 14 – 18 February, 2022
MEETING OF ISO/IEC JTC 1/SC 22/WG 14 AND INCITS PL22.11
WG 14/N 2928


Dates and Times

Each day will have a half-hour break from 16:00-16:30 UTC.

Monday, 31January,2022  14:30 – 18:00 UTC
Tuesday, 1February,2022  14:30 – 18:00 UTC
Wednesday, 2February,2022  14:30 – 18:00 UTC
Thursday, 3February,2022  14:30 – 18:00 UTC
Friday, 4February,2022  14:30 – 18:00 UTC
Monday, 14February,2022  14:30 – 18:00 UTC
Tuesday, 15February,2022  14:30 – 18:00 UTC
Wednesday, 16February,2022  14:30 – 18:00 UTC
Thursday, 17February,2022  14:30 – 18:00 UTC
Friday, 18February,2022  14:30 – 18:00 UTC

Meeting Location

This meeting is virtual via Zoom.

Meeting information

Please see the ISO Meetings platform (log into login.iso.org and click on Meetings) or contact the convenor for the URL and password.

Local contact information

David Keaton <[email protected]>

✓ 1. Opening Activities

1.1 Opening Comments (Keaton)
1.2 Introduction of Participants/Roll Call
1.3 Procedures for this Meeting (Keaton)
1.4 Required Reading
1.4.1 ISO Code of Conduct
1.4.2 IEC Code of Conduct
1.4.3 JTC 1 Summary of Key Points [N 2613]
1.4.4 INCITS Code of Conduct
1.5 Approval of Previous WG 14 Minutes [N 2914] (WG 14 motion)
1.6 Review of Action Items and Resolutions
1.7 Approval of Agenda [N 2928] (PL22.11 motion, WG 14 motion)
1.8 Identify National Bodies Sending Experts
1.9 INCITS Antitrust Guidelines and Patent Policy
1.10 INCITS official designated member/alternate information
1.11 Note where we are in the C23 schedule [N 2864]
Note: Due to the large influx of last-minute documents, this schedule is now unlikely to be met. We should do our best but will probably need an extension.

✓ 2. Reports on Liaison Activities

2.1 ISO, IEC, JTC 1, SC 22
2.2 PL22.11/WG 14
2.3 PL22.16/WG 21
2.4 PL22
2.5 WG 23
2.6 MISRA C
2.7 Austin Group
2.8 Other Liaison Activities

✓ 3. Study Groups

3.1 C Floating Point Study Group activity report
3.2 C Memory Object Model Study Group activity report
3.3 C and C++ Compatibility Study Group activity report
3.4 Undefined Behavior Study Group activity report

✓ 4. Future Meetings

4.1 Future Meeting Schedule
Please note that in-person meetings may be converted to virtual meetings due to coronavirus considerations.
Note much of the northern hemisphere will switch to daylight savings time between now and the following meetings.
4.2 Future Mailing Deadlines
Note: Please request document numbers by one week before these dates.

5. Document Review

Monday, 31 January

✗ 5.1 Working draft updates
Meneide, C Working Draft [N 2912]
Meneide, C Working Draft - Editor's Report [N 2913]
✓ 5.2 Bachmann, Add timegm() as non-optional part of to C2X [N 2833]
✓ 5.3 Bachmann, Deprecate the %n format specifier in C2X [N 2834]

Tuesday, 1 February

✓ 5.4 A Provenance-aware Memory Object Model for C (1.5 hours)
TS 6010 continuing discussions (previous working draft for reference [N 2676]) (1.5 hours)
✓ 5.5 Seacord, Annex K Repairs [N 2809]
✓ 5.6 Seacord, Identifier Syntax using Unicode Standard Annex 31 [N 2836]
✓ 5.7 Seacord, calloc wrap-around handling [N 2810]

Wednesday, 2 February

✓ 5.8 Floating point (3 hours total / 20 minutes each)
5.8.1 Tydeman, *_HAS_SUBNORM==0 implies what? [N 2797] (the green part only, which was skipped at the previous meeting)
5.8.2 Tydeman, DFP: Quantum exponent of NaN (version 2) [N 2754]
5.8.3 Thomas, C23 proposal - Remove default argument promotions for _FloatN types [N 2844]
5.8.4 Thomas, C23 proposal - Revised suggested change from N2716 [N 2847]
5.8.5 Thomas, C23 proposal - Type annex tgmah.h narrowing macros with integer args [N 2849]
5.8.6 Thomas, C23 proposal - 5.2.4.2.2 cleanup-update [N 2879]
5.8.7 Thomas, C23 proposal - overflow and underflow definitions-update [N 2880]
5.8.8 Thomas, C23 proposal - Normal and subnormal classification-update [N 2881]
5.8.9 Thomas, C23 proposal - Clarification for max exponent macros-update [N 2882]

Thursday, 3 February

✓ 5.9 Lambdas (3 hours)
5.9.1 Gustedt, Improve type generic programming v4 [N 2890]
5.9.2 Gustedt, Type inference for variable definitions and function returns [N 2891] [N 2923]
5.9.3 Gustedt, Basic lambdas for C [N 2892]
5.9.4 Gustedt, Options for lambdas [N 2893]
5.9.5 Gustedt, Type-generic lambdas [N 2894] [N 2924]

Friday, 4 February

✓ 5.10 Dependencies on lambdas (1 hour)
5.10.1 Uecker, Function Pointer Types for Pairing Code and Data [N 2787] [N 2862]
5.10.2 Gustedt, A simple defer feature for C [N 2895]
✓ 5.11 Ballman, Fixes for potentially reserved identifiers [N 2762]
✓ 5.12 Ballman, The noreturn attribute (updates N2700) [N 2764]
✓ 5.13 Ballman, Literal suffixes for bit-precise integers [N 2775]
5.14 Ballman, Bit-precise I/O (replaces N2824) [N 2858]

Monday, 14 February

5.15 Gilding, The `constexpr` specifier [N 2851] [N 2917]
5.16 Gilding, Queryable pointer alignment [N 2852] [N 2918]
5.17 Gilding, Meneide, Relax requirements for variadic parameter lists [N 2854] [N 2919]
5.18 Gilding, Tail-call elimination [N 2855] [N 2920]
5.19 Krause, @ and $ in source and execution character set [N 2701]
5.20 Krause, No function declarators without prototypes [N 2841]

Tuesday, 15 February

5.21 Gustedt, Only reserve names of optional functions if necessary v2 [N 2860]
5.22 Gustedt, Make call_once mandatory [N 2840]
5.23 Keywords and related topics (2 hours)
5.23.1 Gustedt, Revise spelling of keywords v6 [N 2884]
5.23.2 Gustedt, Make false and true first-class language features [N 2885] [N 2922]
5.23.3 Gustedt, Add annotations for unreachable control flow v2 [N 2826] (1 hour)

Wednesday, 16 February

5.24 Gustedt, Add new optional time bases v4 [N 2647]
5.25 Gustedt, Properly define blocks as part of the grammar v2 [N 2818]
5.26 Gustedt, Disambiguate the storage class of some compound literals [N 2819]
5.27 Gustedt, Unsequenced functions v4 [N 2887] (1 hour)
5.28 Honermann, char8_t: A type for UTF-8 characters and strings (Revision 1) [N 2653]

Thursday, 17 February

5.29 Sommerlad, Make assert() macro user friendly for C and C++ v2 [N 2829]
5.30 Meneide, Modern Bit Utilities r0 [N 2827] [N 2903]
5.31 Meneide, Unicode Sequences More Than 21 Bits are a Constraint Violation r0 [N 2828]
✓ 5.32 Meneide, Not-So-Magic: typeof() [N 2724] [N 2927]
5.33 Meneide, Preprocessor embed, revision 4 [N 2725]
5.34 Meneide, Consistent, Warningless, and Intuitive Initialization with {} [N 2796] [N 2900]

Friday, 18 February

5.35 Uecker, Consistency of Parameters Declared as Arrays (updates N2779) [N 2906]
5.36 Uecker, Forward Declaration of Parameters [N 2780]
✓ 5.37 Steenberg, break break [N 2859]
✓ 5.38 Ojeda, #once (updates n2742) [N 2896]

6. Clarification Requests

The previous queue of clarification requests has been processed.

7. Other Business

The following papers will be deferred to future meetings unless there is time available at this meeting.

7.1 Svoboda, Towards Supplemental Integer Safety [N 2792] [N 2868]
7.2 Douglas, C2x fopen("x") and fopen("a") v2 [N 2857]
7.3 Köppe, Comma omission and comma deletion [N 2856]
7.4 Bachmann, Make pointer type casting useful without negatively impacting performance - updates n2484 [N 2658]
7.5 Gustedt, Remove `ATOMIC_VAR_INIT` v2 [N 2886]
7.6 Gustedt, Require exact-width integer type interfaces v2 [N 2888]
7.7 Gustedt, Pointers and integer types [N 2889]
7.8 Ojeda, memset_explicit (updates n2682) [N 2897]
7.9 Uecker, Safer Flexible Array Members [N 2905]
7.10 Uecker, Wording Change for Variably-Modified Types [N 2907]
7.11 Uecker, C23 Atomics: Proposed Wording Changes (updates N2771) [N 2909]

Papers not intended for C23

7.12 Steenberg, Redefining Undefined Behavior [N 2769]
7.13 Gilding, The `void`-_which-binds_: typesafe parametric polymorphism [N 2853]

Administrative Discussion Needed

✓ 7.14 How to schedule after C23 (to be continued at the next meeting)

8. Recommendations and Decisions reached

8.1 Review of Decisions Reached
8.2 Review of Action Items

9. PL22.11 Business (Friday, 18 February)

9.1 Approval of Previous PL22.11 Minutes [pl22.11-2021-00012] (PL22.11 motion)
9.2 Identification of PL22.11 Voting Members
9.2.1 Members Attaining initial Voting Rights at this Meeting
9.2.2 Members who regained voting rights
9.3 PL22.11 Voting Members in Jeopardy
9.3.1 Members in jeopardy due to failure to vote on Letter Ballots
9.3.2 Members in jeopardy due to failure to attend Meetings
9.3.2.1 Members in jeopardy who retained voting rights by attending this meeting
9.3.2.2 Members in jeopardy who lost voting rights for failure to attend this meeting
9.4 PL22.11 Non-voting Members
9.4.1 Prospective PL22.11 Members Attending their First Meeting
9.4.2 Advisory members who are attending this meeting
9.5 Other Business

10. Thanks to Host

10.1 Thanks and apologies to Intel, the originally intended host
10.2 Thanks to ISO for supplying Zoom capabilities

11. Adjournment (PL22.11 motion)