libc++ C++2c Status¶
Overview¶
In June 2023, the C++ standard committee adopted the first changes to the next version of the C++ standard, known here as “C++2c” (probably to be C++26).
This page shows the status of libc++; the status of clang’s support of the language features is here.
Attention
Features in unreleased drafts of the standard are subject to change.
The groups that have contributed papers:
CWG - Core Language Working group
LWG - Library working group
SG1 - Study group #1 (Concurrency working group)
Note
“Nothing to do” means that no library changes were needed to implement this change.
Paper Status¶
Paper # |
Group |
Paper Name |
Meeting |
Status |
First released version |
Labels |
---|---|---|---|---|---|---|
LWG |
Testing for success or failure of |
Varna June 2023 |
Complete |
18.0 |
||
LWG |
Hashing support for |
Varna June 2023 |
||||
LWG |
|
Varna June 2023 |
format |
|||
LWG |
|
Varna June 2023 |
||||
LWG |
Read-Copy Update (RCU) |
Varna June 2023 |
||||
LWG |
Hazard Pointers for C++26 |
Varna June 2023 |
||||
LWG |
ADL-proof |
Varna June 2023 |
Complete |
18.0 |
ranges |
|
LWG |
Interfacing |
Varna June 2023 |
||||
LWG |
Formatting pointers |
Varna June 2023 |
Complete [1] |
17.0 |
format |
|
LWG |
Freestanding Feature-Test Macros and Implementation-Defined Extensions |
Varna June 2023 |
||||
LWG |
Freestanding Library: Character primitives and the C library |
Varna June 2023 |
||||
LWG |
Freestanding Language: Optional |
Varna June 2023 |
||||
LWG |
Extending associative containers with the remaining heterogeneous overloads |
Varna June 2023 |
||||
LWG |
Enabling the Use of |
Varna June 2023 |
||||
LWG |
Naming Text Encodings to Demystify Them |
Varna June 2023 |
||||
LWG |
|
Varna June 2023 |
||||
LWG |
Mandating Annex D Require No More |
Varna June 2023 |
||||
LWG |
Type-checking format args |
Varna June 2023 |
format |
|||
LWG |
Member |
Varna June 2023 |
Partial |
18.0 |
||
CWG, LWG |
Checking if a |
Varna June 2023 |
||||
LWG |
Native handles and file streams |
Varna June 2023 |
Complete |
18.0 |
||
LWG |
Interfacing |
Varna June 2023 |
Complete |
18.0 |
||
LWG |
More |
Varna June 2023 |
||||
LWG |
Adding the new SI prefixes |
Varna June 2023 |
Complete |
17.0 |
||
LWG |
|
Varna June 2023 |
||||
LWG |
Bind front and back to NTTP callables |
Varna June 2023 |
||||
LWG |
|
Varna June 2023 |
||||
LWG |
Saturation arithmetic |
Kona November 2023 |
Complete |
18.0 |
||
LWG |
Freestanding Library: Partial Classes |
Kona November 2023 |
||||
LWG |
Debugging Support |
Kona November 2023 |
||||
LWG |
Runtime format strings |
Kona November 2023 |
Complete |
18.0 |
format Defect Report |
|
LWG |
Runtime format strings II |
Kona November 2023 |
Complete |
18.0 |
format |
|
LWG |
Fix formatting of code units as integers (Dude, where’s my |
Kona November 2023 |
Complete |
18.0 |
format Defect Report |
|
LWG |
A new specification for |
Kona November 2023 |
||||
LWG |
|
Kona November 2023 |
Complete |
18.0 |
||
LWG |
|
Kona November 2023 |
Complete |
18.0 |
||
LWG |
Remove Deprecated |
Kona November 2023 |
Complete |
18.0 |
||
LWG |
Remove |
Kona November 2023 |
Complete |
18.0 |
||
LWG |
Remove Deprecated Unicode Conversion Facets from C++26 |
Kona November 2023 |
Complete |
18.0 |
||
LWG |
Add tuple protocol to complex |
Kona November 2023 |
||||
LWG |
Freestanding: Remove |
Kona November 2023 |
||||
LWG |
Freestanding Library: inout expected span |
Kona November 2023 |
||||
LWG |
|
Kona November 2023 |
Defect Report |
|||
LWG |
Make |
Kona November 2023 |
||||
LWG |
A free function linear algebra interface based on the BLAS |
Kona November 2023 |
||||
Note
Library Working Group Issues Status¶
Issue # |
Issue Name |
Meeting |
Status |
First released version |
Labels |
---|---|---|---|---|---|
Needless UB for |
Varna June 2023 |
Complete |
5.0 |
||
|
Varna June 2023 |
flat containers |
|||
|
Varna June 2023 |
Nothing To Do |
|||
Version macro for |
Varna June 2023 |
||||
LWG 3661 broke |
Varna June 2023 |
||||
|
Varna June 2023 |
||||
span destructor is redundantly noexcept |
Varna June 2023 |
Complete |
7.0 |
||
|
Varna June 2023 |
ranges |
|||
Type of |
Varna June 2023 |
Complete |
3.4 |
||
|
Varna June 2023 |
ranges |
|||
Inconsistent template-head of |
Varna June 2023 |
ranges |
|||
Redundant paragraph about expression variations |
Varna June 2023 |
ranges |
|||
Concept |
Varna June 2023 |
Complete |
17.0 |
format |
|
Unclear preconditions for |
Varna June 2023 |
Nothing To Do |
|||
|
Varna June 2023 |
Complete |
3.4 |
||
Cannot use |
Varna June 2023 |
Complete |
18.0 |
||
|
Varna June 2023 |
Complete |
18.0 |
||
“character type” is used but not defined |
Kona November 2023 |
||||
|
Kona November 2023 |
||||
|
Kona November 2023 |
Complete |
18.0 |
||
|
Kona November 2023 |
||||
|
Kona November 2023 |
||||
Is |
Kona November 2023 |
||||
Incorrect formatting of nested ranges and tuples |
Kona November 2023 |
Complete |
17.0 |
format |
|
|
Kona November 2023 |
||||
The definition of |
Kona November 2023 |
||||
Unexpected constraints on |
Kona November 2023 |
ranges |
|||
|
Kona November 2023 |
ranges |
|||
|
Kona November 2023 |
||||
[expected.object.swap]: Using |
Kona November 2023 |
||||
|
Kona November 2023 |
ranges |
|||
[container.alloc.reqmts] The value category of v should be claimed |
Kona November 2023 |
||||
Incorrect example in [format.string.escaped] p3 for formatting of combining characters |
Kona November 2023 |
format |
|||
[mdspan.syn] Missing definition of |
Kona November 2023 |
||||
Monadic operations should be ADL-proof |
Kona November 2023 |
||||
|
Kona November 2023 |
||||
Including |
Kona November 2023 |
flat containers |
|||
Program-defined specializations of |
Kona November 2023 |
||||
|
Kona November 2023 |
ranges |
|||
Ordering of calls to |
Not Yet Adopted |
Complete |
16.0 |
||