{"id":2229750,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2229750/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/patch/20260428171341.1433009-1-jwakely@redhat.com/","project":{"id":17,"url":"http://patchwork.ozlabs.org/api/1.1/projects/17/?format=json","name":"GNU Compiler Collection","link_name":"gcc","list_id":"gcc-patches.gcc.gnu.org","list_email":"gcc-patches@gcc.gnu.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<20260428171341.1433009-1-jwakely@redhat.com>","date":"2026-04-28T17:10:16","name":"libstdc++: Update C++23 status table","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"679862e3fb5df30bdbf5fa3dd11f5e995d83a1d2","submitter":{"id":48004,"url":"http://patchwork.ozlabs.org/api/1.1/people/48004/?format=json","name":"Jonathan Wakely","email":"jwakely@redhat.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/gcc/patch/20260428171341.1433009-1-jwakely@redhat.com/mbox/","series":[{"id":501907,"url":"http://patchwork.ozlabs.org/api/1.1/series/501907/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/list/?series=501907","date":"2026-04-28T17:10:16","name":"libstdc++: Update C++23 status table","version":1,"mbox":"http://patchwork.ozlabs.org/series/501907/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2229750/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2229750/checks/","tags":{},"headers":{"Return-Path":"<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>","X-Original-To":["incoming@patchwork.ozlabs.org","gcc-patches@gcc.gnu.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","gcc-patches@gcc.gnu.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=DbdpjNsA;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)","sourceware.org;\n\tdkim=pass (1024-bit key,\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=DbdpjNsA","sourceware.org; dmarc=pass (p=quarantine dis=none)\n header.from=redhat.com","sourceware.org; spf=pass smtp.mailfrom=redhat.com","server2.sourceware.org;\n arc=none smtp.remote-ip=170.10.133.124"],"Received":["from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g4n9h4pmjz1yHv\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 Apr 2026 03:14:48 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 4135C4BA23D3\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 17:14:45 +0000 (GMT)","from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.133.124])\n by sourceware.org (Postfix) with ESMTP id E8B1D4BA2E38\n for <gcc-patches@gcc.gnu.org>; Tue, 28 Apr 2026 17:13:50 +0000 (GMT)","from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com\n (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by\n relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n cipher=TLS_AES_256_GCM_SHA384) id us-mta-456-eIziJMWdP0aH-3B1yGUdEg-1; Tue,\n 28 Apr 2026 13:13:45 -0400","from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com\n (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested)\n by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS\n id 2763F1800578; Tue, 28 Apr 2026 17:13:44 +0000 (UTC)","from zen.kayari.org (unknown [10.44.34.137])\n by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP\n id B5F3A1801481; Tue, 28 Apr 2026 17:13:42 +0000 (UTC)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 4135C4BA23D3","OpenDKIM Filter v2.11.0 sourceware.org E8B1D4BA2E38"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org E8B1D4BA2E38","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org E8B1D4BA2E38","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1777396431; cv=none;\n b=sQ50ZnPPNiSNwQVADUuvzqayElBqZgnWrwyFuIoVw8q+q97vRgj/C5lq59z0Id0ImDDm44tJkDnTosr13NqOV8WrzNsstVF1KKwXNAK5flOHcqhPxeIZX5J1q0FdAsPxYnGblzm9k727tkwSD7YGOZmj/bzoHBskc+TDKRyndAY=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1777396431; c=relaxed/simple;\n bh=Xv95wkojKOhX9p4bvEk9zkYNSI7RITIw04oW4nKLauQ=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=j2VdCmI3u7FEuMm/+ZmrL4Ia1sHVNNuYaRulY43AV9zT1YJXVRmG8xw9AkayVD9XI98iFTrZpKtOd8rUr4TK59czXVGD2x59PE1yHXAmAxHauWA0TXYDEHvEhiRhFSImHNrF3Lzb+gDCAsJCXacR1z7eYR1Tmzx2RCmnKnIHnME=","ARC-Authentication-Results":"i=1; server2.sourceware.org","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1777396430;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding;\n bh=Kkf9BMEw6DgIv1GpBDyXnyIgD/7xB6UTnjIwib4F8+o=;\n b=DbdpjNsAFjr+vQwHs20k1Aj2OQJnq/Rn4y2zrqIUp3Ax4ierGnVCBr5CKtT7sy+kDxRubW\n gEVf/i7YcZfabHg/k6We76lNh/8GDuVcDyYkZ70M0dRkXwkAK3GaRU28fOfDc/RO5gKFw3\n 63O/T6QgJy3/IedsgYY/cUMmEKyb7dw=","X-MC-Unique":"eIziJMWdP0aH-3B1yGUdEg-1","X-Mimecast-MFC-AGG-ID":"eIziJMWdP0aH-3B1yGUdEg_1777396424","From":"Jonathan Wakely <jwakely@redhat.com>","To":"gcc-patches@gcc.gnu.org,\n\tlibstdc++@gcc.gnu.org","Subject":"[PATCH] libstdc++: Update C++23 status table","Date":"Tue, 28 Apr 2026 18:10:16 +0100","Message-ID":"<20260428171341.1433009-1-jwakely@redhat.com>","MIME-Version":"1.0","X-Scanned-By":"MIMEDefang 3.4.1 on 10.30.177.93","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"CPTqriWgGA0DMq8xn3Jyo6qgXOLOEDYKxgISaOrbg3w_1777396424","X-Mimecast-Originator":"redhat.com","Content-Type":"text/plain","Content-Transfer-Encoding":"8bit","X-BeenThere":"gcc-patches@gcc.gnu.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Gcc-patches mailing list <gcc-patches.gcc.gnu.org>","List-Unsubscribe":"<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>","List-Archive":"<https://gcc.gnu.org/pipermail/gcc-patches/>","List-Post":"<mailto:gcc-patches@gcc.gnu.org>","List-Help":"<mailto:gcc-patches-request@gcc.gnu.org?subject=help>","List-Subscribe":"<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>","Errors-To":"gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org"},"content":"This hasn't been updated to reflect the new features in GCC 16 (and one\nthat was backported to gcc-15 for GCC 15.3 but not released yet).\n\nlibstdc++-v3/ChangeLog:\n\n\t* doc/xml/manual/status_cxx2023.xml: Update status table.\n\t* doc/html/manual/status.html: Regenerate.\n---\n\nI plan to push this to trunk.\n\nOK for the gcc-16 branch too?\n\n libstdc++-v3/doc/html/manual/status.html      | 55 ++++++++++---------\n .../doc/xml/manual/status_cxx2023.xml         | 52 +++++++-----------\n 2 files changed, 48 insertions(+), 59 deletions(-)","diff":"diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html\nindex 64a484082689..c8b441b727bd 100644\n--- a/libstdc++-v3/doc/html/manual/status.html\n+++ b/libstdc++-v3/doc/html/manual/status.html\n@@ -1976,11 +1976,11 @@ or any notes about the implementation.\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2432r1.pdf\" target=\"_top\">\n         P2432R1\n         </a>\n-      </td><td align=\"center\"> 12.1 </td><td align=\"left\"> </td></tr><tr bgcolor=\"#C8B0B0\"><td align=\"left\"> <code class=\"code\">starts_with</code> and <code class=\"code\">ends_with</code> </td><td align=\"left\">\n+      </td><td align=\"center\"> 12.1 </td><td align=\"left\"> </td></tr><tr><td align=\"left\"> <code class=\"code\">starts_with</code> and <code class=\"code\">ends_with</code> </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1659r3.html\" target=\"_top\">\n         P1659R3\n         </a>\n-      </td><td align=\"center\"> </td><td align=\"left\"> <code class=\"code\">__cpp_lib_ranges_starts_ends_with &gt;= 202106L</code> </td></tr><tr><td align=\"left\"> <code class=\"code\">zip</code> </td><td align=\"left\">\n+      </td><td align=\"center\"> 16.1 </td><td align=\"left\"> <code class=\"code\">__cpp_lib_ranges_starts_ends_with &gt;= 202106L</code> </td></tr><tr><td align=\"left\"> <code class=\"code\">zip</code> </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2321r2.html\" target=\"_top\">\n         P2321R2\n         </a>\n@@ -2037,11 +2037,11 @@ or any notes about the implementation.\n       </td><td align=\"left\">\n \t<code class=\"code\">__cpp_lib_ranges_to_container &gt;= 202202L</code>,\n \t<code class=\"code\">__cpp_lib_containers_ranges &gt;= 202202L</code>\n-      </td></tr><tr bgcolor=\"#C8B0B0\"><td align=\"left\"> Ranges iterators as inputs to non-Ranges algorithms </td><td align=\"left\">\n+      </td></tr><tr><td align=\"left\"> Ranges iterators as inputs to non-Ranges algorithms </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2408r5.html\" target=\"_top\">\n         P2408R5\n         </a>\n-      </td><td align=\"center\"> </td><td align=\"left\">\n+      </td><td align=\"center\"> 16.1 </td><td align=\"left\">\n \t<code class=\"code\">__cpp_lib_algorithm_iterator_requirements &gt;= 202207L</code>\n       </td></tr><tr><td align=\"left\"> Pipe support for user-defined range adaptors </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2387r3.html\" target=\"_top\">\n@@ -2050,14 +2050,17 @@ or any notes about the implementation.\n       </td><td align=\"center\"> 13.1 </td><td align=\"left\">\n \t<code class=\"code\">__cpp_lib_bind_pack &gt;= 202202L</code>,\n \t<code class=\"code\">__cpp_lib_ranges &gt;= 202202L</code>\n-      </td></tr><tr bgcolor=\"#B0B0B0\"><td align=\"left\">\n+      </td></tr><tr><td align=\"left\">\n \t<code class=\"code\">ranges::iota</code>, <code class=\"code\">ranges::shift_left</code>,\n         and <code class=\"code\">ranges::shift_right</code>\n       </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2440r1.html\" target=\"_top\">\n         P2440R1\n         </a>\n-      </td><td align=\"center\"> 13.1 (<code class=\"code\">ranges::iota</code>) </td><td align=\"left\">\n+      </td><td align=\"center\">\n+      13.1 (<code class=\"code\">ranges::iota</code>)\n+      16.1 (shift algos)\n+      </td><td align=\"left\">\n \t<code class=\"code\">__cpp_lib_ranges_iota &gt;= 202202L</code>,\n \t<code class=\"code\">__cpp_lib_shift &gt;= 202202L</code>\n       </td></tr><tr><td align=\"left\"> <code class=\"code\">ranges::find_last</code> </td><td align=\"left\">\n@@ -2068,11 +2071,11 @@ or any notes about the implementation.\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2302r4.html\" target=\"_top\">\n         P2302R4\n         </a>\n-      </td><td align=\"center\"> 13.1 </td><td align=\"left\"> <code class=\"code\">__cpp_lib_ranges_contains &gt;= 202207L</code> </td></tr><tr bgcolor=\"#C8B0B0\"><td align=\"left\"> Making multi-param constructors of views explicit </td><td align=\"left\">\n+      </td><td align=\"center\"> 13.1 </td><td align=\"left\"> <code class=\"code\">__cpp_lib_ranges_contains &gt;= 202207L</code> </td></tr><tr><td align=\"left\"> Making multi-param constructors of views explicit </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2711r1.html\" target=\"_top\">\n         P2711R1\n         </a>\n-      </td><td align=\"center\"> </td><td align=\"left\"> </td></tr><tr><td align=\"left\"> <code class=\"code\">ranges::fold</code> </td><td align=\"left\">\n+      </td><td align=\"center\"> 16.1 </td><td align=\"left\"> </td></tr><tr><td align=\"left\"> <code class=\"code\">ranges::fold</code> </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2322r6.html\" target=\"_top\">\n         P2322R6\n         </a>\n@@ -2120,25 +2123,25 @@ or any notes about the implementation.\n         </a>\n       </td><td align=\"center\">\n \t<div class=\"informaltable\"><table class=\"informaltable\" border=\"0\"><colgroup><col /></colgroup><tbody><tr><td> 13.1 (missing changes to <code class=\"code\">std::tuple</code>) </td></tr><tr><td> 14.1 (complete) </td></tr></tbody></table></div>\n-      </td><td align=\"left\"> <code class=\"code\">__cpp_lib_reference_from_temporary &gt;= 202202L</code> </td></tr><tr bgcolor=\"#C8B0B0\"><td align=\"left\">\n+      </td><td align=\"left\"> <code class=\"code\">__cpp_lib_reference_from_temporary &gt;= 202202L</code> </td></tr><tr><td align=\"left\">\n         Move-only types for equality_comparable_with, totally_ordered_with,\n \tand three_way_comparable_with\n       </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2404r3.pdf\" target=\"_top\">\n         P2404R3\n         </a>\n-      </td><td align=\"center\"> </td><td align=\"left\"> <code class=\"code\">__cpp_lib_concepts &gt;= 202207L</code> </td></tr><tr bgcolor=\"#C8B0B0\"><td align=\"left\"> A trait for implicit lifetime types </td><td align=\"left\">\n+      </td><td align=\"center\"> 16.1 </td><td align=\"left\"> <code class=\"code\">__cpp_lib_concepts &gt;= 202207L</code> </td></tr><tr><td align=\"left\"> A trait for implicit lifetime types </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2674r1.pdf\" target=\"_top\">\n         P2674R1\n         </a>\n-      </td><td align=\"center\"> </td><td align=\"left\"> <code class=\"code\">__cpp_lib_is_implicit_lifetime &gt;= 202302L</code> </td></tr><tr bgcolor=\"#C8B0B0\"><td align=\"left\">\n+      </td><td align=\"center\"> 16.1 </td><td align=\"left\"> <code class=\"code\">__cpp_lib_is_implicit_lifetime &gt;= 202302L</code> </td></tr><tr><td align=\"left\">\n \t<code class=\"code\">common_reference_t</code> of <code class=\"code\">reference_wrapper</code>\n \tShould Be a Reference Type\n       </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2655r3.html\" target=\"_top\">\n         P2655R3\n         </a>\n-      </td><td align=\"center\"> </td><td align=\"left\"> <code class=\"code\">__cpp_lib_common_reference &gt;= 202302L</code> </td></tr><tr bgcolor=\"#C8B0B0\"><td align=\"left\"> Deprecate <code class=\"code\">numeric_limits::has_denorm</code> </td><td align=\"left\">\n+      </td><td align=\"center\"> 15.3 </td><td align=\"left\"> <code class=\"code\">__cpp_lib_common_reference &gt;= 202302L</code> </td></tr><tr bgcolor=\"#C8B0B0\"><td align=\"left\"> Deprecate <code class=\"code\">numeric_limits::has_denorm</code> </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2614r2.pdf\" target=\"_top\">\n         P2614R2\n         </a>\n@@ -2152,11 +2155,11 @@ or any notes about the implementation.\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1518r2.html\" target=\"_top\">\n         P1518R2\n         </a>\n-      </td><td align=\"center\"> 12.1 </td><td align=\"left\"> </td></tr><tr bgcolor=\"#C8B0B0\"><td align=\"left\"> Heterogeneous erasure overloads for associative containers </td><td align=\"left\">\n+      </td><td align=\"center\"> 12.1 </td><td align=\"left\"> </td></tr><tr><td align=\"left\"> Heterogeneous erasure overloads for associative containers </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2077r3.html\" target=\"_top\">\n         P2077R3\n         </a>\n-      </td><td align=\"center\"> </td><td align=\"left\"> <code class=\"code\">__cpp_lib_associative_heterogeneous_erasure &gt;= 202110L</code> </td></tr><tr><td align=\"left\"> <code class=\"code\">&lt;flat_map&gt;</code> </td><td align=\"left\">\n+      </td><td align=\"center\"> 16.1 </td><td align=\"left\"> <code class=\"code\">__cpp_lib_associative_heterogeneous_erasure &gt;= 202110L</code> </td></tr><tr><td align=\"left\"> <code class=\"code\">&lt;flat_map&gt;</code> </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p0429r9.pdf\" target=\"_top\">\n         P0429R9\n         </a>\n@@ -2164,35 +2167,35 @@ or any notes about the implementation.\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1222r4.pdf\" target=\"_top\">\n         P1222R4\n         </a>\n-      </td><td align=\"center\"> 15.1 </td><td align=\"left\"> <code class=\"code\">__cpp_lib_flat_set &gt;= 202207L</code> </td></tr><tr bgcolor=\"#C8B0B0\"><td align=\"left\"> <code class=\"code\">mdspan</code> </td><td align=\"left\">\n+      </td><td align=\"center\"> 15.1 </td><td align=\"left\"> <code class=\"code\">__cpp_lib_flat_set &gt;= 202207L</code> </td></tr><tr><td align=\"left\"> <code class=\"code\">mdspan</code> </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p0009r18.html\" target=\"_top\">\n         P0009R18\n         </a>\n-      </td><td align=\"center\"> </td><td align=\"left\"> <code class=\"code\">__cpp_lib_mdspan &gt;= 202207L</code> </td></tr><tr bgcolor=\"#C8B0B0\"><td align=\"left\">\n+      </td><td align=\"center\"> 16.1 </td><td align=\"left\"> <code class=\"code\">__cpp_lib_mdspan &gt;= 202207L</code> </td></tr><tr><td align=\"left\">\n \t<code class=\"code\">index_type</code> &amp; <code class=\"code\">size_type</code>\n \tin <code class=\"code\">mdspan</code>\n       </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2599r2.pdf\" target=\"_top\">\n         P2599R2\n         </a>\n-      </td><td align=\"center\"> </td><td align=\"left\"> <code class=\"code\">__cpp_lib_mdspan &gt;= 202207L</code> </td></tr><tr bgcolor=\"#C8B0B0\"><td align=\"left\">\n+      </td><td align=\"center\"> 16.1 </td><td align=\"left\"> <code class=\"code\">__cpp_lib_mdspan &gt;= 202207L</code> </td></tr><tr><td align=\"left\">\n \t<code class=\"code\">mdspan</code>: rename <code class=\"code\">pointer</code> and\n \t<code class=\"code\">contiguous</code>\n       </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2604r0.html\" target=\"_top\">\n         P2604R0\n         </a>\n-      </td><td align=\"center\"> </td><td align=\"left\"> <code class=\"code\">__cpp_lib_mdspan &gt;= 202207L</code> </td></tr><tr bgcolor=\"#C8B0B0\"><td align=\"left\"> Add the missing <code class=\"code\">empty</code> to <code class=\"code\">mdspan</code> </td><td align=\"left\">\n+      </td><td align=\"center\"> 16.1 </td><td align=\"left\"> <code class=\"code\">__cpp_lib_mdspan &gt;= 202207L</code> </td></tr><tr><td align=\"left\"> Add the missing <code class=\"code\">empty</code> to <code class=\"code\">mdspan</code> </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2613r1.html\" target=\"_top\">\n         P2613R1\n         </a>\n-      </td><td align=\"center\"> </td><td align=\"left\"> <code class=\"code\">__cpp_lib_mdspan &gt;= 202207L</code> </td></tr><tr bgcolor=\"#C8B0B0\"><td align=\"left\">\n+      </td><td align=\"center\"> 16.1 </td><td align=\"left\"> <code class=\"code\">__cpp_lib_mdspan &gt;= 202207L</code> </td></tr><tr><td align=\"left\">\n \t<code class=\"code\">layout_stride</code> static extents default constructor fix\n       </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2763r1.html\" target=\"_top\">\n         P2763R1\n         </a>\n-      </td><td align=\"center\"> </td><td align=\"left\"> </td></tr><tr><td colspan=\"4\" align=\"left\">\n+      </td><td align=\"center\"> 16.1 </td><td align=\"left\"> </td></tr><tr><td colspan=\"4\" align=\"left\">\n         <span class=\"bold\"><strong>Strings and text</strong></span>\n       </td></tr><tr><td align=\"left\"> string contains function </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1679r3.html\" target=\"_top\">\n@@ -2210,7 +2213,7 @@ or any notes about the implementation.\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0448r4.pdf\" target=\"_top\">\n         P0448R4\n         </a>\n-      </td><td align=\"center\"> 12.1 </td><td align=\"left\"> <code class=\"code\">__cpp_lib_spanstream &gt;= 202106L</code> </td></tr><tr bgcolor=\"#C8B0B0\"><td align=\"left\"> <code class=\"code\"> std::string::substr() &amp;&amp; </code> </td><td align=\"left\">\n+      </td><td align=\"center\"> 12.1 </td><td align=\"left\"> <code class=\"code\">__cpp_lib_spanstream &gt;= 202106L</code> </td></tr><tr><td align=\"left\"> <code class=\"code\"> std::string::substr() &amp;&amp; </code> </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2438r2.html\" target=\"_top\">\n         P2438R2\n         </a>\n@@ -2368,28 +2371,28 @@ or any notes about the implementation.\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1642r11.html\" target=\"_top\">\n         P1642R11\n         </a>\n-      </td><td align=\"center\"> 13.1 </td><td align=\"left\"> </td></tr><tr bgcolor=\"#C8B0B0\"><td align=\"left\"> Providing size feedback in the Allocator interface </td><td align=\"left\">\n+      </td><td align=\"center\"> 13.1 </td><td align=\"left\"> </td></tr><tr><td align=\"left\"> Providing size feedback in the Allocator interface </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0401r6.html\" target=\"_top\">\n         P0401R6\n         </a>\n-      </td><td align=\"center\"> </td><td align=\"left\"> <code class=\"code\">__cpp_lib_allocate_at_least &gt;= 202306L</code> </td></tr><tr bgcolor=\"#C8B0B0\"><td align=\"left\">\n+      </td><td align=\"center\"> 16.1 </td><td align=\"left\"> <code class=\"code\">__cpp_lib_allocate_at_least &gt;= 202306L</code> </td></tr><tr bgcolor=\"#C8B0B0\"><td align=\"left\">\n \tDisallow User Specialization of <code class=\"code\">allocator_traits</code>\n       </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2652r2.html\" target=\"_top\">\n         P2652R2\n         </a>\n-      </td><td align=\"center\"> </td><td align=\"left\"> </td></tr><tr bgcolor=\"#C8B0B0\"><td align=\"left\"> Explicit lifetime management </td><td align=\"left\">\n+      </td><td align=\"center\"> </td><td align=\"left\"> </td></tr><tr><td align=\"left\"> Explicit lifetime management </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2590r2.pdf\" target=\"_top\">\n         P2590R2\n         </a>\n-      </td><td align=\"center\"> </td><td align=\"left\"> <code class=\"code\">__cpp_lib_start_lifetime_as &gt;= 202207L</code> </td></tr><tr bgcolor=\"#C8B0B0\"><td align=\"left\">\n+      </td><td align=\"center\"> 16.1 </td><td align=\"left\"> <code class=\"code\">__cpp_lib_start_lifetime_as &gt;= 202207L</code> </td></tr><tr><td align=\"left\">\n \tFixing <code class=\"code\">std::start_lifetime_as</code> and\n \t<code class=\"code\">std::start_lifetime_as_array</code>\n       </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2679r2.pdf\" target=\"_top\">\n         P2679R2\n         </a>\n-      </td><td align=\"center\"> </td><td align=\"left\"> </td></tr><tr><td align=\"left\"> out_ptr - a scalable output pointer abstraction </td><td align=\"left\">\n+      </td><td align=\"center\"> 16.1 </td><td align=\"left\"> </td></tr><tr><td align=\"left\"> out_ptr - a scalable output pointer abstraction </td><td align=\"left\">\n         <a class=\"link\" href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1132r8.html\" target=\"_top\">\n         P1132R8\n         </a>\ndiff --git a/libstdc++-v3/doc/xml/manual/status_cxx2023.xml b/libstdc++-v3/doc/xml/manual/status_cxx2023.xml\nindex af40eabbd8c9..be44adfaccbf 100644\n--- a/libstdc++-v3/doc/xml/manual/status_cxx2023.xml\n+++ b/libstdc++-v3/doc/xml/manual/status_cxx2023.xml\n@@ -175,14 +175,13 @@ or any notes about the implementation.\n     </row>\n \n     <row>\n-      <?dbhtml bgcolor=\"#C8B0B0\" ?>\n       <entry> <code>starts_with</code> and <code>ends_with</code> </entry>\n       <entry>\n         <link xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1659r3.html\">\n         P1659R3\n         </link>\n       </entry>\n-      <entry align=\"center\"> </entry>\n+      <entry align=\"center\"> 16.1 </entry>\n       <entry> <code>__cpp_lib_ranges_starts_ends_with &gt;= 202106L</code> </entry>\n     </row>\n \n@@ -331,14 +330,13 @@ or any notes about the implementation.\n     </row>\n \n     <row>\n-      <?dbhtml bgcolor=\"#C8B0B0\" ?>\n       <entry> Ranges iterators as inputs to non-Ranges algorithms </entry>\n       <entry>\n         <link xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2408r5.html\">\n         P2408R5\n         </link>\n       </entry>\n-      <entry align=\"center\"> </entry>\n+      <entry align=\"center\"> 16.1 </entry>\n       <entry>\n \t<code>__cpp_lib_algorithm_iterator_requirements &gt;= 202207L</code>\n       </entry>\n@@ -359,7 +357,6 @@ or any notes about the implementation.\n     </row>\n \n     <row>\n-      <?dbhtml bgcolor=\"#B0B0B0\" ?>\n       <entry>\n \t<code>ranges::iota</code>, <code>ranges::shift_left</code>,\n         and <code>ranges::shift_right</code>\n@@ -369,7 +366,10 @@ or any notes about the implementation.\n         P2440R1\n         </link>\n       </entry>\n-      <entry align=\"center\"> 13.1 (<code>ranges::iota</code>) </entry>\n+      <entry align=\"center\">\n+      13.1 (<code>ranges::iota</code>)\n+      16.1 (shift algos)\n+      </entry>\n       <entry>\n \t<code>__cpp_lib_ranges_iota &gt;= 202202L</code>,\n \t<code>__cpp_lib_shift &gt;= 202202L</code>\n@@ -399,14 +399,13 @@ or any notes about the implementation.\n     </row>\n \n     <row>\n-      <?dbhtml bgcolor=\"#C8B0B0\" ?>\n       <entry> Making multi-param constructors of views explicit </entry>\n       <entry>\n         <link xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2711r1.html\">\n         P2711R1\n         </link>\n       </entry>\n-      <entry align=\"center\"> </entry>\n+      <entry align=\"center\"> 16.1 </entry>\n       <entry/>\n     </row>\n \n@@ -543,7 +542,6 @@ or any notes about the implementation.\n     </row>\n \n     <row>\n-      <?dbhtml bgcolor=\"#C8B0B0\" ?>\n       <entry>\n         Move-only types for equality_comparable_with, totally_ordered_with,\n \tand three_way_comparable_with\n@@ -553,24 +551,22 @@ or any notes about the implementation.\n         P2404R3\n         </link>\n       </entry>\n-      <entry align=\"center\"> </entry>\n+      <entry align=\"center\"> 16.1 </entry>\n       <entry> <code>__cpp_lib_concepts &gt;= 202207L</code> </entry>\n     </row>\n \n     <row>\n-      <?dbhtml bgcolor=\"#C8B0B0\" ?>\n       <entry> A trait for implicit lifetime types </entry>\n       <entry>\n         <link xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2674r1.pdf\">\n         P2674R1\n         </link>\n       </entry>\n-      <entry align=\"center\"> </entry>\n+      <entry align=\"center\"> 16.1 </entry>\n       <entry> <code>__cpp_lib_is_implicit_lifetime &gt;= 202302L</code> </entry>\n     </row>\n \n     <row>\n-      <?dbhtml bgcolor=\"#C8B0B0\" ?>\n       <entry>\n \t<code>common_reference_t</code> of <code>reference_wrapper</code>\n \tShould Be a Reference Type\n@@ -580,7 +576,7 @@ or any notes about the implementation.\n         P2655R3\n         </link>\n       </entry>\n-      <entry align=\"center\"> </entry>\n+      <entry align=\"center\"> 15.3 </entry>\n       <entry> <code>__cpp_lib_common_reference &gt;= 202302L</code> </entry>\n     </row>\n \n@@ -625,14 +621,13 @@ or any notes about the implementation.\n     </row>\n \n     <row>\n-      <?dbhtml bgcolor=\"#C8B0B0\" ?>\n       <entry> Heterogeneous erasure overloads for associative containers </entry>\n       <entry>\n         <link xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2077r3.html\">\n         P2077R3\n         </link>\n       </entry>\n-      <entry align=\"center\"> </entry>\n+      <entry align=\"center\"> 16.1 </entry>\n       <entry> <code>__cpp_lib_associative_heterogeneous_erasure &gt;= 202110L</code> </entry>\n     </row>\n \n@@ -659,19 +654,17 @@ or any notes about the implementation.\n     </row>\n \n     <row>\n-      <?dbhtml bgcolor=\"#C8B0B0\" ?>\n       <entry> <code>mdspan</code> </entry>\n       <entry>\n         <link xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p0009r18.html\">\n         P0009R18\n         </link>\n       </entry>\n-      <entry align=\"center\"> </entry>\n+      <entry align=\"center\"> 16.1 </entry>\n       <entry> <code>__cpp_lib_mdspan &gt;= 202207L</code> </entry>\n     </row>\n \n     <row>\n-      <?dbhtml bgcolor=\"#C8B0B0\" ?>\n       <entry>\n \t<code>index_type</code> &amp; <code>size_type</code>\n \tin <code>mdspan</code>\n@@ -681,12 +674,11 @@ or any notes about the implementation.\n         P2599R2\n         </link>\n       </entry>\n-      <entry align=\"center\"> </entry>\n+      <entry align=\"center\"> 16.1 </entry>\n       <entry> <code>__cpp_lib_mdspan &gt;= 202207L</code> </entry>\n     </row>\n \n     <row>\n-      <?dbhtml bgcolor=\"#C8B0B0\" ?>\n       <entry>\n \t<code>mdspan</code>: rename <code>pointer</code> and\n \t<code>contiguous</code>\n@@ -696,24 +688,22 @@ or any notes about the implementation.\n         P2604R0\n         </link>\n       </entry>\n-      <entry align=\"center\"> </entry>\n+      <entry align=\"center\"> 16.1 </entry>\n       <entry> <code>__cpp_lib_mdspan &gt;= 202207L</code> </entry>\n     </row>\n \n     <row>\n-      <?dbhtml bgcolor=\"#C8B0B0\" ?>\n       <entry> Add the missing <code>empty</code> to <code>mdspan</code> </entry>\n       <entry>\n         <link xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2613r1.html\">\n         P2613R1\n         </link>\n       </entry>\n-      <entry align=\"center\"> </entry>\n+      <entry align=\"center\"> 16.1 </entry>\n       <entry> <code>__cpp_lib_mdspan &gt;= 202207L</code> </entry>\n     </row>\n \n     <row>\n-      <?dbhtml bgcolor=\"#C8B0B0\" ?>\n       <entry>\n \t<code>layout_stride</code> static extents default constructor fix\n       </entry>\n@@ -722,7 +712,7 @@ or any notes about the implementation.\n         P2763R1\n         </link>\n       </entry>\n-      <entry align=\"center\"> </entry>\n+      <entry align=\"center\"> 16.1 </entry>\n       <entry/>\n     </row>\n \n@@ -777,7 +767,6 @@ or any notes about the implementation.\n     </row>\n \n     <row>\n-      <?dbhtml bgcolor=\"#C8B0B0\" ?>\n       <entry> <code> std::string::substr() &amp;&amp; </code> </entry>\n       <entry>\n         <link xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2438r2.html\">\n@@ -1175,14 +1164,13 @@ or any notes about the implementation.\n     </row>\n \n     <row>\n-      <?dbhtml bgcolor=\"#C8B0B0\" ?>\n       <entry> Providing size feedback in the Allocator interface </entry>\n       <entry>\n         <link xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0401r6.html\">\n         P0401R6\n         </link>\n       </entry>\n-      <entry align=\"center\"> </entry>\n+      <entry align=\"center\"> 16.1 </entry>\n       <entry> <code>__cpp_lib_allocate_at_least &gt;= 202306L</code> </entry>\n     </row>\n \n@@ -1201,19 +1189,17 @@ or any notes about the implementation.\n     </row>\n \n     <row>\n-      <?dbhtml bgcolor=\"#C8B0B0\" ?>\n       <entry> Explicit lifetime management </entry>\n       <entry>\n         <link xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:href=\"https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2590r2.pdf\">\n         P2590R2\n         </link>\n       </entry>\n-      <entry align=\"center\"> </entry>\n+      <entry align=\"center\"> 16.1 </entry>\n       <entry> <code>__cpp_lib_start_lifetime_as &gt;= 202207L</code> </entry>\n     </row>\n \n     <row>\n-      <?dbhtml bgcolor=\"#C8B0B0\" ?>\n       <entry>\n \tFixing <code>std::start_lifetime_as</code> and\n \t<code>std::start_lifetime_as_array</code>\n@@ -1223,7 +1209,7 @@ or any notes about the implementation.\n         P2679R2\n         </link>\n       </entry>\n-      <entry align=\"center\"> </entry>\n+      <entry align=\"center\"> 16.1 </entry>\n       <entry/>\n     </row>\n \n","prefixes":[]}