{"id":2224715,"url":"http://patchwork.ozlabs.org/api/patches/2224715/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/patch/20260417211713.450546-1-jwakely@redhat.com/","project":{"id":17,"url":"http://patchwork.ozlabs.org/api/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,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260417211713.450546-1-jwakely@redhat.com>","list_archive_url":null,"date":"2026-04-17T21:16:31","name":"[wwwdocs] Document change to -std=gnu++20 and non-experimental C++20 support","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"b384d6769fbee64fe28aecf918a0207d488c5288","submitter":{"id":48004,"url":"http://patchwork.ozlabs.org/api/people/48004/?format=json","name":"Jonathan Wakely","email":"jwakely@redhat.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/gcc/patch/20260417211713.450546-1-jwakely@redhat.com/mbox/","series":[{"id":500405,"url":"http://patchwork.ozlabs.org/api/series/500405/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/list/?series=500405","date":"2026-04-17T21:16:31","name":"[wwwdocs] Document change to -std=gnu++20 and non-experimental C++20 support","version":1,"mbox":"http://patchwork.ozlabs.org/series/500405/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2224715/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2224715/checks/","tags":{},"related":[],"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=T57XarFr;\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=T57XarFr","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 4fy75b19S3z1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 18 Apr 2026 07:18:09 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id C65914CD2000\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 17 Apr 2026 21:18:07 +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 7F3574CCCA23\n for <gcc-patches@gcc.gnu.org>; Fri, 17 Apr 2026 21:17:21 +0000 (GMT)","from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com\n (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by\n relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n cipher=TLS_AES_256_GCM_SHA384) id us-mta-108-4w9GBAJIN8y3IDXkWHHEFQ-1; Fri,\n 17 Apr 2026 17:17:18 -0400","from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com\n (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12])\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-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS\n id A6BAB1956088; Fri, 17 Apr 2026 21:17:16 +0000 (UTC)","from zen.kayari.org (unknown [10.44.48.52])\n by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP\n id 154A519560B1; Fri, 17 Apr 2026 21:17:14 +0000 (UTC)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org C65914CD2000","OpenDKIM Filter v2.11.0 sourceware.org 7F3574CCCA23"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 7F3574CCCA23","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 7F3574CCCA23","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776460641; cv=none;\n b=r2ftsAQAXBwtG4GBj//1twcbEBkREjUY7LRFMXLlTlsQBm4IVJ4ThsqkaVmXs5Tl5xLwriitk/1Ynt7Qzhefd3EzpHrQypwscbG1/uLXRuggP0K2k6CQ3fYlwhfYd0pajTpwZOKQiU4jBAfTAXd6TysqyQC4oVvfJ6JuLElRAjw=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776460641; c=relaxed/simple;\n bh=qC9cXtLwPpQoxr9ZYBoOu33/N1TMxewVp2ZxI5267k4=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=B/hp5Qp401Gtkyu7p7E4oOfNsggSbYbq7q2jQ4/YC+mHYGxHBMnGE2UO2moDRjedQlD6PSnapePVNoFPPHbQqF6OMpteGbmiNdtA5d5gD8sggotLJ9rDduEOT1g9dM9ZL64Ee2uaOya0x6lJzXQ8o6u4vPD416Qn+Oecf2iFjdw=","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=1776460641;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding;\n bh=uHZ0ZpnN7qeZtZSurYjJCUgHW4tXv+PZA+9TVTvYzJw=;\n b=T57XarFrJ3hLqGr+YUdAq4Aota2RQfYKUM88QkYoRyiKr/KVJv8xC9BptQIf5VJr64z6EO\n izrm/dT5kWqJoVtt4cf2qoQx4/TPMDpCSTXyz5M2Y+UDiFx/F715dpG8hucB1XRJpyPUTl\n pVpVY91aXRI5UHCtca51udM33SnzRBA=","X-MC-Unique":"4w9GBAJIN8y3IDXkWHHEFQ-1","X-Mimecast-MFC-AGG-ID":"4w9GBAJIN8y3IDXkWHHEFQ_1776460637","From":"Jonathan Wakely <jwakely@redhat.com>","To":"gcc-patches@gcc.gnu.org,\n\tlibstdc++@gcc.gnu.org","Cc":"Jason Merrill <jason@redhat.com>","Subject":"[wwwdocs] Document change to -std=gnu++20 and non-experimental C++20\n support","Date":"Fri, 17 Apr 2026 22:16:31 +0100","Message-ID":"<20260417211713.450546-1-jwakely@redhat.com>","MIME-Version":"1.0","X-Scanned-By":"MIMEDefang 3.0 on 10.30.177.12","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"CTW4bMYeibmB90Eidg7g9DwJU2jnE-m7Kf35hND60Lg_1776460637","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":"Does this look OK for wwwdocs?\n\nThere are other libstdc++ changes that should be added to this page, and\nthe porting_to.html page needs work, but this is the main thing.\n\n---\n htdocs/gcc-16/changes.html | 21 +++++++++++++++++----\n 1 file changed, 17 insertions(+), 4 deletions(-)","diff":"diff --git a/htdocs/gcc-16/changes.html b/htdocs/gcc-16/changes.html\nindex fb0719d5..56c63e99 100644\n--- a/htdocs/gcc-16/changes.html\n+++ b/htdocs/gcc-16/changes.html\n@@ -204,6 +204,16 @@ for general information.</p>\n <h3 id=\"cxx\">C++</h3>\n \n <ul>\n+  <li>C++20 by default: GCC 16 changes the default language version\n+    for C++ compilation from\n+    <a href=\"https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html#index-std-1\">-std=gnu++17</a>\n+    to\n+    <a href=\"https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html#index-std-1\">-std=gnu++20</a>.\n+    If your code relies on older versions of the C++ standard, you will need to\n+    either add\n+    <a href=\"https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html#index-std-1\">-std=</a>\n+    to your build flags, or port your code; see <a href=\"porting_to.html#cxx23\">the porting notes</a>.\n+  </li>\n   <li>Several C++26 features have been implemented:\n     <ul>\n       <li><a href=\"https://wg21.link/P2996R13\">P2996R13</a>, Reflection\n@@ -295,8 +305,11 @@ struct Affected : E\n     C++17 mode.\n   </li>\n  \n-  <li>Improved experimental support for C++20, including:\n+  <li>Improved support for C++20, including:\n     <ul>\n+    <li>\n+      The C++20 implementation is no longer experimental.\n+    </li>\n     <li>\n       Working <code>std::chrono::current_zone()</code> on Windows\n       (thanks to Björn Schäpers).\n@@ -331,9 +344,9 @@ struct Affected : E\n         Representation of some range adaptors in <code>&lt;ranges&gt;</code>.\n       </li>\n     </ul>\n-    This list is not necessarily complete. As with all experimental support,\n-    programs using C++20 components should assume that those components\n-    are not compatible between different major releases.\n+    This list is not necessarily complete. As C++20 support was experimental\n+    before GCC 16, programs using C++20 components should assume that those\n+    components are not compatible with older releases.\n   </li>\n   <li>Improved experimental support for C++23, including:\n     <ul>\n","prefixes":["wwwdocs"]}