Agenda for 15 – 19 November, 2021
MEETING OF ISO/IEC JTC 1/SC 22/WG 14 AND INCITS PL22.11
with optional extension to 6 – 9 December, 2021
WG 14/N 2866


Dates and Times

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

Monday, 15November,2021  14:30 – 18:00 UTC
Tuesday, 16November,2021  14:30 – 18:00 UTC
Wednesday, 17November,2021  14:30 – 18:00 UTC
Thursday, 18November,2021  14:30 – 18:00 UTC
Friday, 19November,2021  15:30 – 18:00 UTC
Monday, 6December,2021  14:30 – 18:00 UTC (if approved)
Tuesday, 7December,2021  14:30 – 18:00 UTC (if approved)
Wednesday, 8December,2021  14:30 – 18:00 UTC (if approved)
Thursday, 9Decemb er,2021  14:30 – 18:00 UTC (if approved)

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 <dmk@dmk.com>

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 2803] (WG 14 motion)
1.6 Review of Action Items and Resolutions
1.7 Approval of Agenda [N 2866] (PL22.11 motion, WG 14 motion)
Note: Decide whether to aprove additional days of the meeting (6-9 December).
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.
4.2 Future Mailing Deadlines
Note: Please request document numbers by one week before these dates.

5. Document Review

Monday, 15 November

5.1 Working draft updates
Meneide, C Working Draft [N 2731]
Meneide, C Working Draft - Editor's Report [N 2733]
5.2 Tong, _Thread_local for better C++ interoperability with C (C++ liaison) [N 2850]
5.3 Johnson, Length modifiers for Unicode character and string types [N 2761]
5.4 Wiedijk, Types do not have types [N 2781]

Tuesday, 16 November

5.5 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.6 Uecker, Variably-Modified Types [N 2778]
5.7 Uecker, Remove UB for incomplete types of function parameters [N 2770]
5.8 Uecker, C23 Atomics, Issues and Proposed Solutions [N 2771]

Wednesday, 17 November

5.9 Thomas, C23 proposal - 5.2.4.2.2 cleanup (N2672 update) [N 2806]
      (Consider only the change to 5.2.4.2.2p4. The rest is left over from N 2672 which was already voted into C23.)
5.10 Thomas, C23 proposal - overflow and underflow definitions (N2746 update) [N 2805]
5.11 Thomas, C23 proposal - Annex F overflow and underflow [N 2747]
5.12 Thomas, C23 proposal - Normal and subnormal classification [N 2842]
5.13 Thomas, C23 proposal - Clarification for max exponent macros [N 2843]
5.14 Tydeman, remquo() [N 2790]

Thursday, 18 November

5.15 Múgica, Memory layout of union members [N 2788]
5.16 Krause, unsigned long and unsigned long long bit-fields [N 2774]
5.17 Krause, identifiers for use by users [N 2807]
5.18 Krause, Allow 16-bit ptrdiff_t again [N 2808]
5.19 Gustedt, Types and sizes v1 [N 2838]
5.20 Gustedt, Require exact-width integer type interfaces [N 2821]

Friday, 19 November

5.21 Bhakta, Clarify the meaning of obsolescent [N 2804]
5.22 Seacord, Volatile C++ Compatibility [N 2743]
5.23 Svoboda, Can Signed Integers Overflow [N 2817]
5.24 Seacord, Clarifying integer terms v2 [N 2837]
Cover section 9 of the agenda at this point in the schedule.

The following documents will be covered if the committee approves additional days of the meeting.

Monday, 6 December

5.25 Bachmann, Add timegm() as non-optional part of to C2X [N 2833]
5.26 Bachmann, Deprecate the %n format specifier in C2X [N 2834]
5.27 Meneide, Modern Bit Utilities r0 [N 2827]
5.28 Meneide, Unicode Sequences More Than 21 Bits are a Constraint Violation r0 [N 2828]
5.29 Seacord, Annex K Repairs [N 2809]
5.30 Seacord, Identifier Syntax using Unicode Standard Annex 31 [N 2836]

Tuesday, 7 December

5.31 Sommerlad, Make assert() macro user friendly for C and C++ v2 [N 2829]
5.32 Uecker, Function Pointer Types for Pairing Code and Data [N 2787]
5.33 Steenberg, break break [N 2859]
5.34 Gustedt, Pointers and integer types [N 2822]
5.35 Gustedt, Only reserve names of optional functions if necessary v2 [N 2860]
5.36 Gustedt, Make call_once mandatory [N 2840]

Wednesday, 8 December

5.37 Gilding, The `constexpr` specifier [N 2851]
5.38 Gilding, Queryable pointer alignment [N 2852]
5.39 Gilding, The `void`-_which-binds_: typesafe parametric polymorphism [N 2853]
5.40 Gilding, Relax requirements for variadic parameter lists [N 2854]
5.41 Gilding, Tail-call elimination [N 2855]
5.42 Ojeda, #once [N 2742]

Thursday, 9 December

5.43 Tydeman, *_HAS_SUBNORM==0 implies what? [N 2797]
5.44 Bhakta, Proposal to update CFP freestanding requirements [N 2823]
5.45 Thomas, C23 proposal - feraiseexcept update [N 2845]
5.46 Thomas, C23 proposal - Clarification about expression transformations [N 2846]
5.47 Thomas, C23 proposal - Contradiction about INFINITY macro [N 2848]

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.

Continuing proposals and other papers

7.1 Gustedt, Add new optional time bases v4 [N 2647]
7.2 Honermann, char8_t: A type for UTF-8 characters and strings (Revision 1) [N 2653]
7.3 Gustedt, type inference for variable definitions and function returns v4 [N 2735]
7.4 Gustedt, Simple lambdas v4 [N 2736]
7.5 Meneide, Not-So-Magic: typeof(), revision 3 [N 2724]
7.6 Gustedt, Improve type generic programming v3 [N 2734]
7.7 Krause, @ and $ in source and execution character set [N 2701]
7.8 Meneide, Preprocessor embed, revision 4 [N 2725]
7.9 Tydeman, DFP: Quantum exponent of NaN (version 2) [N 2754]
7.10 Ballman, Fixes for potentially reserved identifiers [N 2762]
7.11 Ballman, The noreturn attribute (updates N2700) [N 2764]
7.12 Steenberg, Redefining Undefined Behavior [N 2769]
7.13 Ballman, Literal suffixes for bit-precise integers [N 2775]
7.14 Uecker, Consistency of Parameters Declared as Arrays [N 2779]
7.15 Uecker, Forward Declaration of Parameters [N 2780]
7.16 Meneide, Consistent, Warningless, and Intuitive Initialization with {} [N 2796]
7.17 Gustedt, Add annotations for unreachable control flow v2 [N 2826]
7.18 Gustedt, Properly define blocks as part of the grammar v2 [N 2818]
7.19 Gustedt, Disambiguate the storage class of some compound literals [N 2819]
7.20 Seacord, calloc wrap-around handling [N 2810]
7.21 Ballman, Bit-precise I/O (replaces N2824) [N 2858]
7.22 Krause, No function declarators without prototypes [N 2841]
7.23 Gustedt, Unsequenced functions v3 [N 2825]
7.24 Svoboda, Towards Supplemental Integer Safety [N 2792]
7.25 Douglas, C2x fopen("x") and fopen("a") v2 [N 2857]
7.26 Thomas, C23 proposal - Remove default argument promotions for _FloatN types [N 2844]
7.27 Thomas, C23 proposal - Revised suggested change from N2716 [N 2847]
7.28 Thomas, C23 proposal - Type annex tgmah.h narrowing macros with integer args [N 2849]
7.29 Köppe, Comma omission and comma deletion [N 2856]

8. Recommendations and Decisions reached

8.1 Review of Decisions Reached
8.2 Review of Action Items

9. PL22.11 Business (Friday, 19 November)

9.1 Approval of Previous PL22.11 Minutes [pl22.11-2021-00007] (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 who retained voting rights by attending this meeting
9.3.2.2 Members 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 PL22.11 Meeting Votes
9.5.1 Systematic Review, ISO/IEC TS 18661-1 - Floating Point Extensions for C - Part 1: Binary floating-point arithmetic. [pl22.11-2021-00010]
9.5.2 Systematic Review, ISO/IEC TS 18661-2 - Floating Point Extensions for C - Part 2: Decimal floating point arithmetic. [pl22.11-2021-00011]
9.6 Other Business

10. Thanks to Host

10.1 Thanks to ISO for supplying Zoom capabilities

11. Adjournment (PL22.11 motion)