From patchwork Thu Mar 14 11:54:58 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonathan Wakely X-Patchwork-Id: 1912080 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=B5BlhZRW; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4TwQph0xZxz1yWt for ; Thu, 14 Mar 2024 22:57:00 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B97533857BB5 for ; Thu, 14 Mar 2024 11:56:57 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 7EC0E3856975 for ; Thu, 14 Mar 2024 11:56:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7EC0E3856975 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 7EC0E3856975 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710417393; cv=none; b=H3YIilrKpeVgpFeoBKuZLVRAuenhCqN63asuC04HAs/W622PqLLndtw1XeqIJI6oK09zfUhbv1kFDNBPLT/G4NblsNCffCGejjD5CKzDBOWNthM6NAyzdBd7ynnOUcCnTX/bbte7H9xRgTY83wP0iwabE5ev79f3W12/hCUo+jA= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710417393; c=relaxed/simple; bh=ikCRDd40q3UO9P2SFvTIUs0xIKOIjLOTBAiTvF8uqFc=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=kH7G5DKqOqfSrSNEEqv/6mW651K4sJX5zMJ7foiHibjbSv9rv8wZBeS2Zxwlr1Z01uBmoMZ5BGNlm4t4HLxcIlEM8oowFusgaD4yBUor7GfqFO3pHJtjgfx90NGUNiRGS5IwaDM1xTEZ1anLFGCuPuofVm1gUGWvdWa6+0M6dzc= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1710417390; 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=a5cUS5+Fzd83iEx8HhSBUjEtmgMWBJBlhq8BWON5Ufs=; b=B5BlhZRWRmya0SYl0MlsMkbxVSoSqD6P9SgMvXqn9J28KKTA0K+AiOmixqUcJ9MqmVmf/d 8/oq2xFsdPT4Wchod0oAolYr5SiMhP/y1BmMwMxCYR6qGxbUjxAVVL2DJuLmy/QFQKS1bl RTPxTG8FbGlLbp4lNKNnABAIbyISiY0= Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-412-RG1pWcMyM-WGkM74rc1Nug-1; Thu, 14 Mar 2024 07:56:28 -0400 X-MC-Unique: RG1pWcMyM-WGkM74rc1Nug-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 1947128B6AC0; Thu, 14 Mar 2024 11:56:28 +0000 (UTC) Received: from localhost (unknown [10.42.28.8]) by smtp.corp.redhat.com (Postfix) with ESMTP id C3495111F3C6; Thu, 14 Mar 2024 11:56:27 +0000 (UTC) From: Jonathan Wakely To: libstdc++@gcc.gnu.org, gcc-patches@gcc.gnu.org Subject: [committed] libstdc++: Update C++23 status in the manual Date: Thu, 14 Mar 2024 11:54:58 +0000 Message-ID: <20240314115627.2709616-1-jwakely@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org I think we have all C++23 changes in this table now. At some point soon we should replace the C++20 table of papers with the C++20 table of contents, as we do for the other standards. Pushed to trunk. -- >8 -- libstdc++-v3/ChangeLog: * doc/xml/manual/status_cxx2023.xml: Update C++23 status table. * doc/html/manual/status.html: Regenerate. * include/bits/version.def: Fix typo in comment. --- libstdc++-v3/doc/html/manual/status.html | 146 +++++++-- .../doc/xml/manual/status_cxx2023.xml | 295 +++++++++++++++--- libstdc++-v3/include/bits/version.def | 2 +- 3 files changed, 376 insertions(+), 67 deletions(-) diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2023.xml b/libstdc++-v3/doc/xml/manual/status_cxx2023.xml index 4bf22f00bce..9b870d1dbdf 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2023.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx2023.xml @@ -312,15 +312,32 @@ or any notes about the implementation. - + ranges::to P1206R7 + 14.1 (ranges::to function) + + __cpp_lib_containers_ranges >= 202202L, + __cpp_lib_ranges_to_container >= 202202L + + + + + + Ranges iterators as inputs to non-Ranges algorithms + + + P2408R5 + + - __cpp_lib_ranges_to_container >= 202202L + + __cpp_lib_algorithm_iterator_requirements >= 202207L + @@ -377,6 +394,18 @@ or any notes about the implementation. __cpp_lib_ranges_contains >= 202207L + + + Making multi-param constructors of views explicit + + + P2711R1 + + + + + + ranges::fold @@ -388,6 +417,18 @@ or any notes about the implementation. __cpp_lib_ranges_fold >= 202207L + + + Relaxing Ranges Just A Smidge + + + P2609R3 + + + + __cpp_lib_ranges >= 202302L + + Compile-time programming @@ -484,65 +525,73 @@ or any notes about the implementation. - A type trait to detect reference binding to temporary P2255R2 - 13.1 (missing changes to std::tuple + + + 13.1 (missing changes to std::tuple) + 14.1 (complete) + + __cpp_lib_reference_from_temporary >= 202202L - - Strings and text + + + Move-only types for equality_comparable_with, totally_ordered_with, + and three_way_comparable_with + + + P2404R3 + + + + __cpp_lib_concepts >= 202207L - string contains function + + A trait for implicit lifetime types - - P1679R3 + + P2674R1 - 11.1 - __cpp_lib_string_contains >= 202011L + + __cpp_lib_is_implicit_lifetime >= 202302L - Prohibit std::basic_string and std::basic_string_view construction from nullptr + - - P2166R1 + common_reference_t of reference_wrapper + Should Be a Reference Type + + + + P2655R3 - 12.1 - + + __cpp_lib_common_reference >= 202302L - basic_string::resize_and_overwrite + + Deprecate numeric_limits::has_denorm - - P1072R10 + + P2614R2 - 12.1 - __cpp_lib_resize_and_overwrite >= 202110L - - - - A strstream replacement using span<charT> as buffer - - - P0448R4 - - - 12.1 - __cpp_lib_spanstream >= 202106L + + @@ -683,6 +732,63 @@ or any notes about the implementation. + + string contains function + + + P1679R3 + + + 11.1 + __cpp_lib_string_contains >= 202011L + + + + Prohibit std::basic_string and std::basic_string_view construction from nullptr + + + P2166R1 + + + 12.1 + + + + + basic_string::resize_and_overwrite + + + P1072R10 + + + 12.1 + __cpp_lib_resize_and_overwrite >= 202110L + + + + A strstream replacement using span<charT> as buffer + + + P0448R4 + + + 12.1 + __cpp_lib_spanstream >= 202106L + + + + + std::string::substr() && + + + P2438R2 + + + + + + + std::format improvements @@ -735,6 +841,19 @@ or any notes about the implementation. __cpp_lib_format >= 202207L + + + Formatting pointers + + + + P2510R3 + + + 13.2 (feature test macro not defined) + __cpp_lib_format >= 202207L + + Formatting Ranges @@ -760,19 +879,17 @@ or any notes about the implementation. - Formatted output P2093R14 - + 14.1 __cpp_lib_print >= 202207L - Should the output of std::print to a terminal be synchronized with the underlying stream? @@ -782,7 +899,7 @@ or any notes about the implementation. P2539R3 - + 14.1 @@ -898,7 +1015,6 @@ or any notes about the implementation. - Compatibility between tuple, pair and tuple-like objects @@ -907,10 +1023,23 @@ or any notes about the implementation. P2165R4 - + 14.1 __cpp_lib_tuple_like >= 202207L + + + Default Arguments for pair's Forwarding Constructor + + + + P1951R1 + + + 14.1 + + + move_only_function @@ -1043,6 +1172,96 @@ or any notes about the implementation. + + + Providing size feedback in the Allocator interface + + + P0401R6 + + + + __cpp_lib_allocate_at_least >= 202306L + + + + + + Disallow User Specialization of allocator_traits + + + + P2652R2 + + + + + + + + + Explicit lifetime management + + + P2590R2 + + + + __cpp_lib_start_lifetime_as >= 202207L + + + + + + Fixing std::start_lifetime_as and + std::start_lifetime_as_array + + + + P2679R2 + + + + + + + + out_ptr - a scalable output pointer abstraction + + + P1132R8 + + + 14.1 + __cpp_lib_out_ptr >= 202106L + + + + + barrier's phase completion guarantees + + + P2588R3 + + + + __cpp_lib_barrier >= 202302L + + + + + + Standard Library Modules std and std.compat + + + + P2465R3 + + + + __cpp_lib_modules >= 202207L + + diff --git a/libstdc++-v3/include/bits/version.def b/libstdc++-v3/include/bits/version.def index d298420121b..be5af18e818 100644 --- a/libstdc++-v3/include/bits/version.def +++ b/libstdc++-v3/include/bits/version.def @@ -1457,7 +1457,7 @@ ftms = { }; //ftms = { -// name = container_ranges; +// name = containers_ranges; // values = { // v = 202202; // cxxmin = 23;