From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id E06BD385773F for ; Mon, 18 Sep 2023 13:13:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E06BD385773F Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1695042829; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/dX4YX06KxerpYalfbqLA/gXe0jiaorV2nShaNiI2SE=; b=EXPYcw9vZ6twZYTupOMTF6EBlp3p30prtNxjK+xF4F7ddOlQDs+PUDjuYpHxVldPbooviM n6KcpN7NC5hZbz6ZJEh1n9I6CKB9zQXzTXz+T0Qih9ilyZN5sKu1j/mqRqzNgPhi3kKP70 Tod+aX3rNExVynLKvHwF3/VW113Uv3M= Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-561-nx8FQu9uOv2su4MXW9mDFA-1; Mon, 18 Sep 2023 09:12:45 -0400 X-MC-Unique: nx8FQu9uOv2su4MXW9mDFA-1 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 2C16F29AB3E0; Mon, 18 Sep 2023 13:12:23 +0000 (UTC) Received: from localhost (unknown [10.42.28.190]) by smtp.corp.redhat.com (Postfix) with ESMTP id 953D440C2064; Mon, 18 Sep 2023 13:12:22 +0000 (UTC) From: Jonathan Wakely To: libstdc++@gcc.gnu.org, gcc-patches@gcc.gnu.org Subject: [committed] libstdc++: Update C++20 and C++23 status docs Date: Mon, 18 Sep 2023 14:11:28 +0100 Message-ID: <20230918131221.2462150-1-jwakely@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,PP_MIME_FAKE_ASCII_TEXT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Pushed to trunk. Most of this should be backported to gcc-13 too. We also need a C++26 status page, which doesn't exist yet. -- 8 -- libstdc++-v3/ChangeLog: * doc/xml/manual/configure.xml: Use conventional option name. * doc/xml/manual/status_cxx2020.xml: Update. * doc/xml/manual/status_cxx2023.xml: Update. * doc/html/*: Regenerate. --- libstdc++-v3/doc/html/manual/configure.html | 4 +- libstdc++-v3/doc/html/manual/status.html | 255 ++++++++-- libstdc++-v3/doc/xml/manual/configure.xml | 4 +- .../doc/xml/manual/status_cxx2020.xml | 44 +- .../doc/xml/manual/status_cxx2023.xml | 474 +++++++++++++++++- 5 files changed, 717 insertions(+), 64 deletions(-) diff --git a/libstdc++-v3/doc/xml/manual/configure.xml b/libstdc++-v3/doc/xml/manual/configure.xml index 1b8c37ce2a9..0a477ab85e5 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 da911169cc8..6e560069cbc 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. @@ -541,13 +540,12 @@ or any notes about the implementation. - Avoid template bloat for safe_ranges in combination with ‘subrange-y’ view adaptors. P1739R4 - + 12.1 @@ -559,18 +557,16 @@ or any notes about the implementation. - Extending chrono to Calendars and Time Zones P0355R7 - + 14.1 (see Note 2) __cpp_lib_chrono >= 201803L - Miscellaneous minor fixes for chrono @@ -667,39 +663,36 @@ or any notes about the implementation. - Text formatting P0645R10 - + 13.1 __cpp_lib_format >= 201907L - Integration of chrono with text formatting P1361R2 - + 13.1 __cpp_lib_format >= 201907L - Printf corner cases in std::format P1652R1 - + 13.1 __cpp_lib_format >= 201907L @@ -716,13 +709,12 @@ or any notes about the implementation. - Update The Reference To The Unicode Standard P1025R1 - + @@ -796,13 +788,12 @@ or any notes about the implementation. - Comparing Unordered Containers P0809R0 - + @@ -1039,7 +1030,7 @@ or any notes about the implementation. P0551R3 - + These changes will not be implemented. @@ -1113,13 +1104,12 @@ or any notes about the implementation. - Standard Library Specification in a Concepts and Contracts World P0788R3 - + @@ -1244,13 +1234,12 @@ or any notes about the implementation. - Cleaning up Clause 20 P1148R0 - + @@ -1341,7 +1330,6 @@ or any notes about the implementation. - Mandating the Standard Library: Clause 22 - Iterators library @@ -1350,7 +1338,7 @@ or any notes about the implementation. P1464R1 - + @@ -1459,4 +1447,10 @@ 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 and UTC are supported since 13.1, +and chrono::parse is supported since 14.1. + + diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2023.xml b/libstdc++-v3/doc/xml/manual/status_cxx2023.xml index f23c64d6a29..9d121af82df 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2023.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx2023.xml @@ -187,17 +187,207 @@ or any notes about the implementation. - zip P2321R2 - + 13.1 __cpp_lib_ranges_zip >= 202110L + + views::repeat + + + P2474R2 + + + 13.1 + __cpp_lib_ranges_repeat >= 202207L + + + + views::enumerate + + + P2164R9 + + + 13.1 + __cpp_lib_ranges_enumerate >= 202302L + + + + views::join_with + + + P2441R2 + + + 13.1 + __cpp_lib_ranges_join_with >= 202202L + + + + + Windowing range adaptors: views::chunk + and views::slide + + + P2442R2 + + + 13.1 + __cpp_lib_ranges_slide >= 202202L + + + + views::chunk_by + + + P2443R1 + + + 13.1 + __cpp_lib_ranges_chunk_by >= 202202L + + + + views::stride + + + P1899R3 + + + 13.1 + __cpp_lib_ranges_stride >= 202207L + + + + views::cartesian_product + + + P2374R4 + + + 13.1 + __cpp_lib_ranges_cartesian_product >= 202207L + + + + Empty Product for certain Views + + + P2540R1 + + + 13.1 + __cpp_lib_ranges_cartesian_product >= 202207L + + + + views::as_rvalue + + + P2446R2 + + + 13.1 + __cpp_lib_ranges_as_rvalue >= 202207L + + + + + cbegin should always return a constant iterator + + + + P2278R4 + + + 13.1 + __cpp_lib_ranges_as_const >= 202207L + + + + + ranges::to + + + P1206R7 + + + + __cpp_lib_ranges_to_container >= 202202L + + + + Pipe support for user-defined range adaptors + + + P2387R3 + + + 13.1 + + __cpp_lib_bind_pack >= 202202L, + __cpp_lib_ranges >= 202202L + + + + + + + ranges::iota, ranges::shift_left, + and ranges::shift_right + + + + P2440R1 + + + 13.1 (ranges::iota) + + __cpp_lib_ranges_iota >= 202202L, + __cpp_lib_shift >= 202202L + + + + + ranges::find_last + + + P1223R5 + + + 13.1 + __cpp_lib_ranges_find_last >= 202207L + + + + ranges::contains + + + P2302R4 + + + 13.1 + __cpp_lib_ranges_contains >= 202207L + + + + ranges::fold + + + P2322R6 + + + 13.1 + __cpp_lib_ranges_fold >= 202207L + + Compile-time programming @@ -294,14 +484,14 @@ or any notes about the implementation. - + A type trait to detect reference binding to temporary P2255R2 - + 13.1 (missing changes to std::tuple __cpp_lib_reference_from_temporary >= 202202L @@ -395,6 +585,235 @@ or any notes about the implementation. __cpp_lib_associative_heterogeneous_erasure >= 202110L + + + <flat_map> + + + P0429R9 + + + + __cpp_lib_flat_map >= 202207L + + + + + <flat_set> + + + P1222R4 + + + + __cpp_lib_flat_set >= 202207L + + + + + mdspan + + + P0009R18 + + + + __cpp_lib_mdspan >= 202207L + + + + + + index_type & size_type + in mdspan + + + + P2599R2 + + + + __cpp_lib_mdspan >= 202207L + + + + + + mdspan: rename pointer and + contiguous + + + + P2604R0 + + + + __cpp_lib_mdspan >= 202207L + + + + + Add the missing empty to mdspan + + + P2613R1 + + + + __cpp_lib_mdspan >= 202207L + + + + + + layout_stride static extents default constructor fix + + + + P2763R1 + + + + + + + + + Strings and text + + + + + std::format improvements + + + P2216R3 + + + 13.1 + __cpp_lib_format >= 202106L + + + + + Add support for std::generator-like types to + std::format + + + + P2418R2 + + + 13.1 + __cpp_lib_format >= 202110L + + + + + Expose std::basic-format-string<charT, Args...> + + + + P2508R1 + + + 13.1 (feature test macro not defined) + __cpp_lib_format >= 202207L + + + + + + Clarify handling of encodings in localized formatting of chrono types + + + + P2419R2 + + + + __cpp_lib_format >= 202207L + + + + + Formatting Ranges + + + P2286R8 + + + + __cpp_lib_format_ranges >= 202207L + + + + + Improve default container formatting + + + P2585R1 + + + + __cpp_lib_format_ranges >= 202207L + + + + + Formatted output + + + P2093R14 + + + + __cpp_lib_print >= 202207L + + + + + + Should the output of std::print to a terminal be synchronized with + the underlying stream? + + + + P2539R3 + + + + + + + + + Formatting thread::id and stacktrace + + + + P2693R1 + + + 14.1 + __cpp_lib_formatters >= 202302L + + + + + Add Constexpr Modifiers to Functions to_chars and + from_chars for Integral Types in + <charconv> Header + + + + P2291R3 + + + 13.1 + __cpp_lib_constexpr_charconv >= 202207L + + Miscellaneous @@ -456,6 +875,17 @@ or any notes about the implementation. __cpp_lib_expected >= 202202L + + Monadic operations for std::expected + + + P2505R5 + + + 13.1 + __cpp_lib_expected >= 202211L + + Monadic operations for std::optional @@ -467,6 +897,20 @@ or any notes about the implementation. __cpp_lib_optional >= 202110L + + + + Compatibility between tuple, pair + and tuple-like objects + + + P2165R4 + + + + __cpp_lib_tuple_like >= 202207L + + move_only_function @@ -522,6 +966,28 @@ or any notes about the implementation. + + A more constexpr bitset + + + P2417R2 + + + 13.1 + __cpp_lib_constexpr_bitset >= 202207L + + + + Extended floating-point types and standard names + + + P1467R9 + + + 13.1 + + + Support C atomics in C++ -- 2.41.0