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 |
Complete |
19.0 |
||
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 |
Complete |
19.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 |
Complete |
19.0 |
||
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 |
||||
LWG |
Undeprecate |
Tokyo March 2024 |
Complete |
15.0 |
||
LWG |
Remove Deprecated |
Tokyo March 2024 |
Complete |
19.0 |
||
LWG |
Remove Deprecated |
Tokyo March 2024 |
||||
LWG |
Remove |
Tokyo March 2024 |
Complete |
19.0 |
||
LWG |
Permit an efficient implementation of |
Tokyo March 2024 |
format Defect Report |
|||
LWG |
Printing Blank Lines with |
Tokyo March 2024 |
Complete [2] |
19.0 |
format |
|
LWG |
Formatting of |
Tokyo March 2024 |
format |
|||
LWG |
Atomic minimum/maximum |
Tokyo March 2024 |
||||
LWG |
|
Tokyo March 2024 |
ranges |
|||
LWG |
Concatenation of strings and string views |
Tokyo March 2024 |
Complete |
19.0 |
||
LWG |
Enabling list-initialization for algorithms |
Tokyo March 2024 |
||||
LWG |
|
Tokyo March 2024 |
||||
LWG |
Vector API for random number generation |
Tokyo March 2024 |
||||
LWG |
Comparisons for |
Tokyo March 2024 |
Partial [3] |
19.0 |
||
LWG |
Padded |
Tokyo March 2024 |
||||
LWG |
Better |
Tokyo March 2024 |
Complete |
19.0 |
||
CWG |
|
St. Louis June 2024 |
||||
LWG |
Removing the common reference requirement from the indirectly invocable concepts |
St. Louis June 2024 |
Complete [5] |
19.0 |
||
LWG |
|
St. Louis June 2024 |
Complete |
19.0 |
||
LWG |
Give |
St. Louis June 2024 |
ranges |
|||
LWG |
Adjoints to ‘Enabling list-initialization for algorithms’: find_last |
St. Louis June 2024 |
||||
LWG |
A type trait for detecting virtual base classes |
St. Louis June 2024 |
||||
LWG |
|
St. Louis June 2024 |
||||
LWG |
|
St. Louis June 2024 |
format Defect Report |
|||
LWG |
Make |
St. Louis June 2024 |
Complete |
19.0 |
||
LWG |
Philox as an extension of the C++ RNG engines |
St. Louis June 2024 |
||||
LWG |
Remove |
St. Louis June 2024 |
Complete [4] |
19.0 |
||
LWG |
|
St. Louis June 2024 |
||||
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 |
Complete |
19.0 |
||
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 |
Complete |
19.0 |
||
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 |
Complete |
16.0 |
||
|
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 |
Complete |
19.0 |
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 |
Complete |
19.0 |
ranges |
|
|
Tokyo March 2024 |
||||
|
Tokyo March 2024 |
ranges |
|||
|
Tokyo March 2024 |
Complete |
18.0 |
||
Specializations of |
Tokyo March 2024 |
Nothing To Do |
format |
||
|
Tokyo March 2024 |
Complete |
19.0 |
ranges |
|
|
Tokyo March 2024 |
Nothing To Do |
|||
|
Tokyo March 2024 |
ranges |
|||
|
Tokyo March 2024 |
ranges |
|||
container-insertable checks do not match what container-inserter does |
Tokyo March 2024 |
||||
Preconditions of |
Tokyo March 2024 |
Complete |
19.0 |
||
Move assignment operator of |
Tokyo March 2024 |
||||
Clarify whether arithmetic expressions in |
Tokyo March 2024 |
Nothing To Do |
|||
|
Tokyo March 2024 |
Complete |
16.0 |
||
|
Tokyo March 2024 |
Complete |
19.0 |
ranges |
|
|
Tokyo March 2024 |
||||
Static data members of |
Tokyo March 2024 |
||||
|
Tokyo March 2024 |
||||
“ASCII” is not a registered character encoding |
Tokyo March 2024 |
Nothing To Do |
|||
|
Tokyo March 2024 |
||||
Unary call to |
Tokyo March 2024 |
Complete |
19.0 |
ranges |
|
Repeating a |
Tokyo March 2024 |
Complete |
19.0 |
ranges |
|
Formatters converting sequences of |
St. Louis June 2024 |
format |
|||
|
St. Louis June 2024 |
||||
Should |
St. Louis June 2024 |
Complete |
19.0 |
format |
|
|
St. Louis June 2024 |
Complete |
19.0 |
||
|
St. Louis June 2024 |
ranges |
|||
|
St. Louis June 2024 |
||||
Missing Preconditions in |
St. Louis June 2024 |
ranges |
|||
|
St. Louis June 2024 |
ranges |
|||
|
St. Louis June 2024 |
ranges |
|||
|
St. Louis June 2024 |
ranges |
|||
|
St. Louis June 2024 |
ranges |
|||
|
St. Louis June 2024 |
ranges |
|||
|
St. Louis June 2024 |
Complete |
19.0 |
format |
|
Ordering of calls to |
Not Yet Adopted |
Complete |
16.0 |
||
XXXX |
The sys_info range should be affected by save |
Not Yet Adopted |
Complete |
19.0 |
|