From: Jonathan Wakely Date: Mon, 18 Sep 2023 14:30:05 +0000 (+0100) Subject: libstdc++: Update C++20 status docs X-Git-Tag: releases/gcc-12.4.0~684 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f7c3405aa1756947231d64963b3d45c875fb2099;p=thirdparty%2Fgcc.git libstdc++: Update C++20 status docs libstdc++-v3/ChangeLog: * doc/xml/manual/configure.xml: Use conventional option name. * doc/xml/manual/status_cxx2020.xml: Update. * doc/html/*: Regenerate. (cherry picked from commit c8e9a75085f9725c5b5f32a27867c106fed3b5fb) --- diff --git a/libstdc++-v3/doc/html/manual/configure.html b/libstdc++-v3/doc/html/manual/configure.html index 5981c6c548b0..dfd7ad63bca1 100644 --- a/libstdc++-v3/doc/html/manual/configure.html +++ b/libstdc++-v3/doc/html/manual/configure.html @@ -208,8 +208,8 @@ C++ includes. If enabled (as by default), and the compiler seems capable of passing the simple sanity checks thrown at it, try to build stdc++.h.gch as part of the make process. - In addition, this generated file is used later on (by appending - --include bits/stdc++.h to CXXFLAGS) when running the + In addition, this generated file is used later on (by appending + -include bits/stdc++.h to CXXFLAGS) when running the testsuite.

--enable-extern-template[default]

Use extern template to pre-instantiate all required specializations for certain types defined in the standard libraries. diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html index e8da941038d3..76d7d58a831b 100644 --- a/libstdc++-v3/doc/html/manual/status.html +++ b/libstdc++-v3/doc/html/manual/status.html @@ -1325,10 +1325,10 @@ or any notes about the implementation. 9.1 __cpp_lib_type_identity >= 201806L (since 9.4, see Note 1) unwrap_ref_decay and unwrap_reference P0318R1 - 9.1 __cpp_lib_unwrap_ref >= 201811L (since 9.4, see Note 1) Improving Completeness Requirements for Type Traits + 9.1 __cpp_lib_unwrap_ref >= 201811L (since 9.4, see Note 1) Improving Completeness Requirements for Type Traits P1285R0 - Partial   Missing feature test macros + — Most misuses are diagnosed, but not all. Missing feature test macros P1353R0 9.1   Making std::underlying_type SFINAE-friendly @@ -1411,18 +1411,18 @@ or any notes about the implementation. 10.1   Ranges Design Cleanup P1252R2 - 10.1   Avoid template bloat for safe_ranges in combination with ‘subrange-y’ view adaptors. + 10.1   Avoid template bloat for safe_ranges in combination with ‘subrange-y’ view adaptors. P1739R4 -   + 12.1   Time, dates, calendars, time zones - Extending chrono to Calendars and Time Zones + Extending chrono to Calendars and Time Zones P0355R7 -   __cpp_lib_chrono >= 201803L Miscellaneous minor fixes for chrono + (see Note 2) __cpp_lib_chrono >= 201803L Miscellaneous minor fixes for chrono P1466R3 -   __cpp_lib_chrono >= 201907L <chrono> zero(), min(), and max() should be noexcept + (see Note 2) __cpp_lib_chrono >= 201907L <chrono> zero(), min(), and max() should be noexcept P0972R0 9.1   @@ -1467,10 +1467,10 @@ or any notes about the implementation. String Prefix and Suffix Checking P0457R2 - 9.1 __cpp_lib_starts_ends_with >= 201711L (since 9.4, see Note 1) Update The Reference To The Unicode Standard + 9.1 __cpp_lib_starts_ends_with >= 201711L (since 9.4, see Note 1) Update The Reference To The Unicode Standard P1025R1 -   + —  Containers span: bounds-safe views for sequences of objects @@ -1492,10 +1492,10 @@ or any notes about the implementation. 10.1 __cpp_lib_to_array >= 201907L Checking for Existence of an Element in Associative Containers P0458R2 - 9.1   Comparing Unordered Containers + 9.1   Comparing Unordered Containers P0809R0 -   Heterogeneous lookup for unordered containers + —   Heterogeneous lookup for unordered containers P0919R3 11.1 __cpp_lib_generic_unordered_lookup >= 201811 Refinement Proposal for P0919 @@ -1567,7 +1567,7 @@ or any notes about the implementation. 9.1   Thou Shalt Not Specialize std Function Templates! P0551R3 -   Bit-casting object representations + These changes will not be implemented. Bit-casting object representations P0476R2 11.1 __cpp_lib_bit_cast >= 201806L Integral power-of-2 operations @@ -1588,10 +1588,10 @@ or any notes about the implementation. —   Add shift to <algorithm> P0769R2 - 10.1 __cpp_lib_shift >= 201806L Standard Library Specification in a Concepts and Contracts World + 10.1 __cpp_lib_shift >= 201806L Standard Library Specification in a Concepts and Contracts World P0788R3 -   explicit(bool) + —   explicit(bool) P0892R2 —   Eradicating unnecessarily explicit default constructors from the standard library @@ -1627,10 +1627,10 @@ or any notes about the implementation. 7.1   Editorial Guidance for merging P0019r8 and P0528r3 P1123R0 - —   Cleaning up Clause 20 + —   Cleaning up Clause 20 P1148R0 -   Completing the Rebase of Library Fundamentals, Version 3, Working Draft + —   Completing the Rebase of Library Fundamentals, Version 3, Working Draft P1210R0   Alternative Wording for P0907R4 Signed Integers are Two's Complement @@ -1666,13 +1666,13 @@ or any notes about the implementation. P1463R1 - 10.1   + 10.1   Mandating the Standard Library: Clause 22 - Iterators library P1464R1 -   Make create_directory() Intuitive + —   Make create_directory() Intuitive P1164R1 @@ -1708,6 +1708,9 @@ or any notes about the implementation. Note 1: This feature is supported in older releases but the __cpp_lib macro is not defined to the right value (or not defined at all) until the version shown in parentheses. +

+Note 2: The C++20 calendar types are supported since 11.1, +time zones, UTC, formatting and parsing are not supported.

C++ 2023

In this implementation the -std=gnu++23 or -std=c++23 flag must be used to enable language diff --git a/libstdc++-v3/doc/xml/manual/configure.xml b/libstdc++-v3/doc/xml/manual/configure.xml index f01fdb9b0d4f..d2a866c4fc2a 100644 --- a/libstdc++-v3/doc/xml/manual/configure.xml +++ b/libstdc++-v3/doc/xml/manual/configure.xml @@ -341,8 +341,8 @@ C++ includes. If enabled (as by default), and the compiler seems capable of passing the simple sanity checks thrown at it, try to build stdc++.h.gch as part of the make process. - In addition, this generated file is used later on (by appending - --include bits/stdc++.h to CXXFLAGS) when running the + In addition, this generated file is used later on (by appending + -include bits/stdc++.h to CXXFLAGS) when running the testsuite. diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2020.xml b/libstdc++-v3/doc/xml/manual/status_cxx2020.xml index a13445f2246e..d85fa59ae598 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2020.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx2020.xml @@ -251,14 +251,13 @@ or any notes about the implementation. - Improving Completeness Requirements for Type Traits P1285R0 - Partial - + + Most misuses are diagnosed, but not all. @@ -542,13 +541,12 @@ or any notes about the implementation. - Avoid template bloat for safe_ranges in combination with ‘subrange-y’ view adaptors. P1739R4 - + 12.1 @@ -560,24 +558,23 @@ or any notes about the implementation. - + Extending chrono to Calendars and Time Zones P0355R7 - + (see Note 2) __cpp_lib_chrono >= 201803L - Miscellaneous minor fixes for chrono P1466R3 - + (see Note 2) __cpp_lib_chrono >= 201907L @@ -717,13 +714,12 @@ or any notes about the implementation. - Update The Reference To The Unicode Standard P1025R1 - + @@ -797,13 +793,12 @@ or any notes about the implementation. - Comparing Unordered Containers P0809R0 - + @@ -1030,7 +1025,7 @@ or any notes about the implementation. P0551R3 - + These changes will not be implemented. @@ -1104,13 +1099,12 @@ or any notes about the implementation. - Standard Library Specification in a Concepts and Contracts World P0788R3 - + @@ -1235,13 +1229,12 @@ or any notes about the implementation. - Cleaning up Clause 20 P1148R0 - + @@ -1332,7 +1325,6 @@ or any notes about the implementation. - Mandating the Standard Library: Clause 22 - Iterators library @@ -1341,7 +1333,7 @@ or any notes about the implementation. P1464R1 - + @@ -1450,4 +1442,9 @@ Note 1: This feature is supported in older releases but the (or not defined at all) until the version shown in parentheses. + +Note 2: The C++20 calendar types are supported since 11.1, +time zones, UTC, formatting and parsing are not supported. + +