[{"id":3680802,"web_url":"http://patchwork.ozlabs.org/comment/3680802/","msgid":"<bmm.h88eg3ylhc.gcc.gcc-TEST.peppe.54.1020.CMT@forge-stage.sourceware.org>","list_archive_url":null,"date":"2025-06-12T16:41:45","subject":"Re: [PATCH v1 0/1] WIP: libstdc++: add range support to std::optional\n (P3168)","submitter":{"id":93222,"url":"http://patchwork.ozlabs.org/api/people/93222/","name":"peppe via Sourceware Forge","email":"forge-bot+peppe@forge-stage.sourceware.org"},"content":"Merged as r16-1487-g774ae8734f0e19 .\n\n--\nhttps://forge.sourceware.org/gcc/gcc-TEST/pulls/54#issuecomment-1020","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 spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=38.145.34.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; dmarc=none (p=none dis=none)\n header.from=forge-stage.sourceware.org","sourceware.org;\n spf=pass smtp.mailfrom=forge-stage.sourceware.org","server2.sourceware.org;\n arc=none smtp.remote-ip=38.145.34.39"],"Received":["from vm01.sourceware.org (vm01.sourceware.org [38.145.34.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 4g179c0GKfz1yD5\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 23 Apr 2026 04:32:04 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 0815C4BC7EFB\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 18:32:02 +0000 (GMT)","from forge-stage.sourceware.org (vm08.sourceware.org [38.145.34.39])\n by sourceware.org (Postfix) with ESMTPS id 7A0D343787E8\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 18:25:48 +0000 (GMT)","from forge-stage.sourceware.org (localhost [IPv6:::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256)\n (No client certificate requested)\n by forge-stage.sourceware.org (Postfix) with ESMTPS id 4FB714346D\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 18:25:47 +0000 (UTC)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 0815C4BC7EFB","OpenDKIM Filter v2.11.0 sourceware.org 7A0D343787E8"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 7A0D343787E8","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 7A0D343787E8","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776882348; cv=none;\n b=MVN8BENVg5xteZxcM3R2zovRBnySYXy6fT53FKU6JRnhQghlYd6/UnlDUzjCONfhbKJACeu8LPBFHdQPCXDUiuIY4QXMbjoo/x9GdNmnjxPUR/u3QLUL9RR/PJmXZowqgkEjhhfC70y5oXg3mgoC+b0CtUIL8VO6ZTtgZOv33AU=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776882348; c=relaxed/simple;\n bh=jmS3sr7s649JMWDTH9H9fwOb44QwcDpkAlAliA69l8o=;\n h=Subject:From:To:Date:Message-ID:MIME-Version;\n b=ddE7SMgue8jTCBIe0sW9Vo//VVSKDd/X6xnCxabgrlayZV9wvZkwXIxUm3nf41lWHhcJDbbzuMM3Yrh6bVM/0jI37Kybjm1jBH7wGW76mIm4zlCL1czGYSZaLAI2Ixr3zxPvGTiA6D+tHR8JHKPaPqX/bTP0RkE2oehiKUq6Zwc=","ARC-Authentication-Results":"i=1; server2.sourceware.org","Subject":"Re: [PATCH v1 0/1] WIP: libstdc++: add range support to std::optional\n (P3168)","From":"peppe via Sourceware Forge <forge-bot+peppe@forge-stage.sourceware.org>","To":"gcc-patches mailing list <gcc-patches@gcc.gnu.org>","Date":"Thu, 12 Jun 2025 16:41:45 +0000","Message-ID":"\n <bmm.h88eg3ylhc.gcc.gcc-TEST.peppe.54.1020.CMT@forge-stage.sourceware.org>","In-Reply-To":"\n <bmm.hhuogh01ko.gcc.gcc-TEST.peppe.54.1.0@forge-stage.sourceware.org>","X-Mailer":"batrachomyomachia","X-Requested-Reviewer":"redi","X-Pull-Request-Organization":"gcc","X-Pull-Request-Repository":"gcc-TEST","X-Pull-Request":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/54","X-Comment":"\n https://forge.sourceware.org/gcc/gcc-TEST/pulls/54#issuecomment-1020","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","MIME-Version":"1.0","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"}},{"id":3680809,"web_url":"http://patchwork.ozlabs.org/comment/3680809/","msgid":"<bmm.h884ysmmrk.gcc.gcc-TEST.redi.54.130.REVIEW@forge-stage.sourceware.org>","list_archive_url":null,"date":"2025-06-12T10:57:47","subject":"Re: [APPROVED][PATCH v1 0/1] WIP: libstdc++: add range support to\n std::optional (P3168)","submitter":{"id":93210,"url":"http://patchwork.ozlabs.org/api/people/93210/","name":"Jonathan Wakely via Sourceware Forge","email":"forge-bot+redi@forge-stage.sourceware.org"},"content":"Jonathan Wakely (redi) <redi@gcc.gnu.org> approved the changes:\nOK for trunk now - please feel free to push - thanks!\n\n\n--\nhttps://forge.sourceware.org/gcc/gcc-TEST/pulls/54#issuecomment-1018","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 spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=38.145.34.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; dmarc=none (p=none dis=none)\n header.from=forge-stage.sourceware.org","sourceware.org;\n spf=pass smtp.mailfrom=forge-stage.sourceware.org","server2.sourceware.org;\n arc=none smtp.remote-ip=38.145.34.39"],"Received":["from vm01.sourceware.org (vm01.sourceware.org [38.145.34.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 4g17J66d3lz1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 23 Apr 2026 04:37:42 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 2154B433566F\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 18:37:41 +0000 (GMT)","from forge-stage.sourceware.org (vm08.sourceware.org [38.145.34.39])\n by sourceware.org (Postfix) with ESMTPS id 612FA43B3894\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 18:25:47 +0000 (GMT)","from forge-stage.sourceware.org (localhost [IPv6:::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256)\n (No client certificate requested)\n by forge-stage.sourceware.org (Postfix) with ESMTPS id 3FB234346C\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 18:25:47 +0000 (UTC)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 2154B433566F","OpenDKIM Filter v2.11.0 sourceware.org 612FA43B3894"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 612FA43B3894","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 612FA43B3894","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776882347; cv=none;\n b=pze84O3IOoyG5v00NF/ZAZnvnb5kLvxbZox8B4eMXfnnl8+tXJR+Ffg9tUspc/MHvutg4hqZ8pNHCknPnsEdHUiyBBIWMmez6HHd4l8qC/GhEww9FD7NSMC0CrTHqxJNmhmiw94RdmLjfpMHej6blaqJgqdDvV+ef7sSzP94Qjo=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776882347; c=relaxed/simple;\n bh=nzVcy3q8xSPQSzDYBTIsUu83+ipPDHlcASbFLttyWZ8=;\n h=Subject:From:To:Date:Message-ID:MIME-Version;\n b=pumVSrxBly726Afwx86QrzxrzHrOYdygAWBO8Yvuic8drKzSWTkm1aP6YPXgN0YdwMmSw67S//vca2q67x4JecUCD16rKPEnGN6w23ZtUYHB0kydVc68yP0YYNeXG57BmB51mkLmV2tyTN8rTvKpixLJHwdnpAKBDr1Y67rgJXw=","ARC-Authentication-Results":"i=1; server2.sourceware.org","Subject":"Re: [APPROVED][PATCH v1 0/1] WIP: libstdc++: add range support to\n std::optional (P3168)","From":"Jonathan Wakely via Sourceware Forge\n <forge-bot+redi@forge-stage.sourceware.org>","To":"gcc-patches mailing list <gcc-patches@gcc.gnu.org>","Date":"Thu, 12 Jun 2025 10:57:47 +0000","Message-ID":"\n <bmm.h884ysmmrk.gcc.gcc-TEST.redi.54.130.REVIEW@forge-stage.sourceware.org>","In-Reply-To":"\n <bmm.hhuogh01ko.gcc.gcc-TEST.peppe.54.1.0@forge-stage.sourceware.org>","X-Mailer":"batrachomyomachia","X-Requested-Reviewer":"redi","X-Pull-Request-Organization":"gcc","X-Pull-Request-Repository":"gcc-TEST","X-Pull-Request":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/54","X-Review":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/54#issuecomment-1018","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","MIME-Version":"1.0","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"}},{"id":3680814,"web_url":"http://patchwork.ozlabs.org/comment/3680814/","msgid":"<bmm.hhuohb2d8g.gcc.gcc-TEST.forge-bot.54.5639.CMT@forge-stage.sourceware.org>","list_archive_url":null,"date":"2026-04-22T18:25:46","subject":"Re: [PATCH v1 0/1] WIP: libstdc++: add range support to std::optional\n (P3168)","submitter":{"id":93212,"url":"http://patchwork.ozlabs.org/api/people/93212/","name":"Lichenor Forgejo Bot via Sourceware Forge","email":"forge-bot+forge-bot@forge-stage.sourceware.org"},"content":"Sent patch series version 1 containing 1 patches to gcc-patches mailing list <gcc-patches@gcc.gnu.org>.\n[Cover letter](https://inbox.sourceware.org/gcc-patches/bmm.hhuogh01ko.gcc.gcc-TEST.peppe.54.1.0@forge-stage.sourceware.org)\n\n--\nhttps://forge.sourceware.org/gcc/gcc-TEST/pulls/54#issuecomment-5639","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 spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=38.145.34.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; dmarc=none (p=none dis=none)\n header.from=forge-stage.sourceware.org","sourceware.org;\n spf=pass smtp.mailfrom=forge-stage.sourceware.org","server2.sourceware.org;\n arc=none smtp.remote-ip=38.145.34.39"],"Received":["from vm01.sourceware.org (vm01.sourceware.org [38.145.34.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 4g17Kb3jKDz1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 23 Apr 2026 04:38:59 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id B260642C364C\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 18:38:57 +0000 (GMT)","from forge-stage.sourceware.org (vm08.sourceware.org [38.145.34.39])\n by sourceware.org (Postfix) with ESMTPS id F338B43E5FA6\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 18:25:48 +0000 (GMT)","from forge-stage.sourceware.org (localhost [IPv6:::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256)\n (No client certificate requested)\n by forge-stage.sourceware.org (Postfix) with ESMTPS id 6FF444346F\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 18:25:47 +0000 (UTC)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org B260642C364C","OpenDKIM Filter v2.11.0 sourceware.org F338B43E5FA6"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org F338B43E5FA6","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org F338B43E5FA6","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776882349; cv=none;\n b=vChVDCGyv1/G0gR22GBbSjCoEHtIDoVUC/nAFIv9BJopybUAyE4tzbQW+NQmDHapBiJFstPeOov0NJ9lze1fTyAJ40MIphjCF7/hPfJhqIlC1RcCZ817oSKdLuwpp7zox7CmN1XA0+OsQz/PvyeHSfRqHnAhDhvYxZBokj7gEt0=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776882349; c=relaxed/simple;\n bh=hVElUU4K191QBGd7YV0lEj/kML7hW7byAM04yQrfXEg=;\n h=Subject:From:To:Date:Message-ID:MIME-Version;\n b=SZ30mjq26xXvGZucUtlPQ0LYIcH23cL183WEMbKOzBL2s/FZIiq3FzOUn33fQUg0ADDykr23mn/5kdCdk9sKE/TTpTebQ37RJfiVq+coUwBeDh7eUDAJciLimWF4d2Ayzr8aRrnWkBPRQoRfNmJ0AAwdOJoq49Kog2q9kJEAHVk=","ARC-Authentication-Results":"i=1; server2.sourceware.org","Subject":"Re: [PATCH v1 0/1] WIP: libstdc++: add range support to std::optional\n (P3168)","From":"Lichenor Forgejo Bot via Sourceware Forge\n <forge-bot+forge-bot@forge-stage.sourceware.org>","To":"gcc-patches mailing list <gcc-patches@gcc.gnu.org>","Date":"Wed, 22 Apr 2026 18:25:46 +0000","Message-ID":"\n <bmm.hhuohb2d8g.gcc.gcc-TEST.forge-bot.54.5639.CMT@forge-stage.sourceware.org>","In-Reply-To":"\n <bmm.hhuogh01ko.gcc.gcc-TEST.peppe.54.1.0@forge-stage.sourceware.org>","X-Mailer":"batrachomyomachia","X-Requested-Reviewer":"redi","X-Pull-Request-Organization":"gcc","X-Pull-Request-Repository":"gcc-TEST","X-Pull-Request":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/54","X-Comment":"\n https://forge.sourceware.org/gcc/gcc-TEST/pulls/54#issuecomment-5639","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"quoted-printable","MIME-Version":"1.0","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"}},{"id":3680819,"web_url":"http://patchwork.ozlabs.org/comment/3680819/","msgid":"<bmm.hhuohdo0my.gcc.gcc-TEST.peppe.54.1.SUMMARY@forge-stage.sourceware.org>","list_archive_url":null,"date":"2026-04-22T18:25:49","subject":"[SUMMARY] Re: [PATCH v1 0/1] WIP: libstdc++: add range support to\n std::optional (P3168)","submitter":{"id":93222,"url":"http://patchwork.ozlabs.org/api/people/93222/","name":"peppe via Sourceware Forge","email":"forge-bot+peppe@forge-stage.sourceware.org"},"content":"This is a summary of discussions relative to the merge request created by (peppe) titled\nWIP: libstdc++: add range support to std::optional (P3168)\nsince its creation.\n\nDescription: This commit implements P3168 (\"Give std::optional Range Support\"), added\nfor C++26. Both begin() and end() are straightforward, implemented using\nnormal_iterator over a raw pointer.\n\nstd::optional is also a view, so specialize enable_view for it.\n\nWe also need to disable automatic formatting a std::optional as a range\nby specializing format_kind. In order to avoid dragging <format> when\nincluding <optional>, I've isolated format_kind and some supporting code\ninto <bits/formatfwd.h> so that I can use that (comparatively) lighter\nheader.\n\nlibstdc++-v3/ChangeLog:\n\n\t* include/bits/formatfwd.h (format_kind): Move the definition\n\t(and some supporting code) from <format>; adjust inclusions.\n\t* include/std/format (format_kind): Likewise.\n\t* include/bits/version.def (optional_range_support): Add\n\tthe feature-testing macro.\n\t* include/bits/version.h: Regenerate.\n\t* include/std/optional (iterator, const_iterator, begin, end):\n\tAdd range support.\n\t(enable_view): Specialize for std::optional.\n\t(format_kind): Specialize for std::optional.\n\t* testsuite/20_util/optional/range.cc: New test.\n\nThanks for taking the time to contribute to GCC!\n\nPlease be advised that https://forge.sourceware.org/ is currently a trial\nthat is being used by the GCC community to experiment with a new workflow\nbased on pull requests.\n\nPull requests sent here may be forgotten or ignored. Patches that you want to\npropose for inclusion in GCC should use the existing email-based workflow,\nsee https://gcc.gnu.org/contribute.html\n\n\nThe full and up to date discussion can be found at https://forge.sourceware.org/gcc/gcc-TEST/pulls/54\n\nThe merge request has been closed without being merged directly on the forge repository.\n\nOn 2025-06-11 18:53:10+00:00, (tkaminsk) <tkaminsk@gcc.gnu.org> commented on the code:\n\n\n> +++ libstdc++-v3/testsuite/20_util/optional/requirements.cc\n> @@ -30,6 +30,15 @@\n>  # error \"Feature test macro for optional has wrong value for C++23 in <version>\"\n>  #endif\n>  \n> +#if __cplusplus > 202302L\nWe do not need to test it twice. Leave it only in version.cc\n> +++ libstdc++-v3/testsuite/20_util/optional/requirements.cc\n> @@ -30,6 +30,15 @@\n>  # error \"Feature test macro for optional has wrong value for C++23 in <version>\"\n>  #endif\n>  \n> +#if __cplusplus > 202302L\nIs there any reason for this pre-existing duplication? (Fearing some corner case in how the autotest suite works)\n> +++ libstdc++-v3/testsuite/20_util/optional/requirements.cc\n> @@ -30,6 +30,15 @@\n>  # error \"Feature test macro for optional has wrong value for C++23 in <version>\"\n>  #endif\n>  \n> +#if __cplusplus > 202302L\nAh, one test including version, and other test including optional, I would in `version.cc` add `#undef __cpp_lib_optional_range_support` and test again, similary how it is done for `__cpp_lib_freestanding_optional`. This make it clear that repetition is intentional.\n> +++ libstdc++-v3/testsuite/20_util/optional/requirements.cc\n> @@ -30,6 +30,15 @@\n>  # error \"Feature test macro for optional has wrong value for C++23 in <version>\"\n>  #endif\n>  \n> +#if __cplusplus > 202302L\nBefore GCC 14 we had to manually define each feature test macro in all the relevant places, i.e. in `<version>` and in the other appropriate headers (so `<optional>` here). It was possible to mess up and only put it in one place, or define it with inconsistent values. So it made sense to test that `<optional>` defined the macro(s) correctly, and separately test that `<version>` defined them correctly.\n\nSince b7b801b2f563b5f324805a85f5bea973a0daa65c it's impossible for the macros to have inconsistent values, and impossible for `<version>` to not define the macro. So now we only really need to test that the macro is defined correctly by `<optional>`.\n\nThe `version.cc` test checks it in both `<version>` and `<optional>` which is probably redundant, it's probably good enough to only check `<optional>`.\n\nIn any case, I agree that we don't need to check it here in requirements, so we could move the existing macro checks from this file to the end of `version.cc`, and then remove the `{ dg-add-options no_pch }` directive so that the test is able to use the PCH to speed up compilation. So please don't add to this requirements.cc test, and then we'll separately move what's in that file already.\n\n\nOn 2025-06-12 09:13:47+00:00, Jonathan Wakely (redi) <redi@gcc.gnu.org> commented on the code:\n\n\n> +++ libstdc++-v3/testsuite/20_util/optional/version.cc\n> @@ -24,0 +28,4 @@\n> +#  error \"Feature test macro for optional range support has wrong value for C++26 in <version>\"\n> +# endif\n> +#endif\n> +\nAs Tomasz suggested, please also add `#undef __cpp_lib_optional_range_support` and then duplicate these checks at the bottom of the file, after `<optional>` has been included.\n> +++ libstdc++-v3/testsuite/20_util/optional/version.cc\n> @@ -24,0 +28,4 @@\n> +#  error \"Feature test macro for optional range support has wrong value for C++26 in <version>\"\n> +# endif\n> +#endif\n> +\nThanks, done now!\n\nOn 2025-06-12 10:57:47+00:00, Jonathan Wakely (redi) <redi@gcc.gnu.org> approved the changes:\nOK for trunk now - please feel free to push - thanks!\n\n\n\nOn 2025-06-12 16:41:45+00:00, (peppe) wrote:\n\nMerged as r16-1487-g774ae8734f0e19 .\n\n\nOn 2026-04-22 18:25:20+00:00, Lichenor Forgejo Bot (forge-bot) wrote:\n\n<!-- pr-new-version -->\nVersion 1 of this pull request has been stored. It includes the following commits:\n- libstdc++: add range support to std::optional (P3168) - 2df2898b525ff502924e33df4d0ad94b0c11ddfe\n\n\n\nOn 2026-04-22 18:25:46+00:00, Lichenor Forgejo Bot (forge-bot) wrote:\n\nSent patch series version 1 containing 1 patches to gcc-patches mailing list <gcc-patches@gcc.gnu.org>.\n[Cover letter](https://inbox.sourceware.org/gcc-patches/bmm.hhuogh01ko.gcc.gcc-TEST.peppe.54.1.0@forge-stage.sourceware.org)","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 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; dmarc=none (p=none dis=none)\n header.from=forge-stage.sourceware.org","sourceware.org;\n spf=pass smtp.mailfrom=forge-stage.sourceware.org","server2.sourceware.org;\n arc=none smtp.remote-ip=38.145.34.39"],"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 4g17M54NPsz1yGs\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 23 Apr 2026 04:40:17 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id BE4E14293365\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 18:40:15 +0000 (GMT)","from forge-stage.sourceware.org (vm08.sourceware.org [38.145.34.39])\n by sourceware.org (Postfix) with ESMTPS id D54CE43B8A93\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 18:25:49 +0000 (GMT)","from forge-stage.sourceware.org (localhost [IPv6:::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256)\n (No client certificate requested)\n by forge-stage.sourceware.org (Postfix) with ESMTPS id AEE3243467\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 18:25:49 +0000 (UTC)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org BE4E14293365","OpenDKIM Filter v2.11.0 sourceware.org D54CE43B8A93"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org D54CE43B8A93","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org D54CE43B8A93","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776882349; cv=none;\n b=UX6FULWkLBx3GFCPb2qgD5w/1xgDKP2E32WPqKkCMJNOzzctx+63yFXO/vU3fVo7eeG92Iw0diYueZ+ScaUUjgrN8AZNQGXA0EmqvdE62EexW9QmiczJVj2aKyE9jsjvxUdZjMGFIkK1+xseDtm5a9l5aJzJUTokWhi5cxos3go=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776882349; c=relaxed/simple;\n bh=TAry1tgjmDJV6VeRnFr0Do7xxzeulX/iGVF+PFzTi44=;\n h=Subject:From:To:Message-ID:MIME-Version:Date;\n b=lzs3TOGp/f+dIOLpqmrK1frk/shDLzu+0GD7zVOeu8gIce60TyLHzB8dqFwi0GIwcXPJaMlnvSZMc1/cs2+7r+Y1Y+5rgihKrvdNS1Xh5n9YCTHsKEEFtp61uukwn0cFZtgImfyBc6KewlepVB2rOizdWQ9tYcQfRHF2k/28LPI=","ARC-Authentication-Results":"i=1; server2.sourceware.org","Subject":"[SUMMARY] Re: [PATCH v1 0/1] WIP: libstdc++: add range support to\n std::optional (P3168)","From":"peppe via Sourceware Forge <forge-bot+peppe@forge-stage.sourceware.org>","To":"gcc-patches mailing list <gcc-patches@gcc.gnu.org>","In-Reply-To":"\n <bmm.hhuogh01ko.gcc.gcc-TEST.peppe.54.1.0@forge-stage.sourceware.org>","Message-ID":"\n <bmm.hhuohdo0my.gcc.gcc-TEST.peppe.54.1.SUMMARY@forge-stage.sourceware.org>","X-Mailer":"batrachomyomachia","X-Requested-Reviewer":"redi","X-Pull-Request-Organization":"gcc","X-Pull-Request-Repository":"gcc-TEST","X-Pull-Request":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/54","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"quoted-printable","MIME-Version":"1.0","Date":"Wed, 22 Apr 2026 18:25:49 +0000 (UTC)","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"}},{"id":3680821,"web_url":"http://patchwork.ozlabs.org/comment/3680821/","msgid":"<bmm.hhuogvl3i8.gcc.gcc-TEST.forge-bot.54.5637.CMT@forge-stage.sourceware.org>","list_archive_url":null,"date":"2026-04-22T18:25:20","subject":"Re: [PATCH v1 0/1] WIP: libstdc++: add range support to std::optional\n (P3168)","submitter":{"id":93212,"url":"http://patchwork.ozlabs.org/api/people/93212/","name":"Lichenor Forgejo Bot via Sourceware Forge","email":"forge-bot+forge-bot@forge-stage.sourceware.org"},"content":"<!-- pr-new-version -->\nVersion 1 of this pull request has been stored. It includes the following commits:\n- libstdc++: add range support to std::optional (P3168) - 2df2898b525ff502924e33df4d0ad94b0c11ddfe\n\n\n--\nhttps://forge.sourceware.org/gcc/gcc-TEST/pulls/54#issuecomment-5637","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 spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=38.145.34.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; dmarc=none (p=none dis=none)\n header.from=forge-stage.sourceware.org","sourceware.org;\n spf=pass smtp.mailfrom=forge-stage.sourceware.org","server2.sourceware.org;\n arc=none smtp.remote-ip=38.145.34.39"],"Received":["from vm01.sourceware.org (vm01.sourceware.org [38.145.34.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 4g17N52p4Zz1yGs\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 23 Apr 2026 04:41:09 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 825C542597D2\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 18:41:07 +0000 (GMT)","from forge-stage.sourceware.org (vm08.sourceware.org [38.145.34.39])\n by sourceware.org (Postfix) with ESMTPS id 792BC43787C7\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 18:25:48 +0000 (GMT)","from forge-stage.sourceware.org (localhost [IPv6:::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256)\n (No client certificate requested)\n by forge-stage.sourceware.org (Postfix) with ESMTPS id 5F4654346E\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 18:25:47 +0000 (UTC)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 825C542597D2","OpenDKIM Filter v2.11.0 sourceware.org 792BC43787C7"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 792BC43787C7","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 792BC43787C7","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776882348; cv=none;\n b=ZqrgYoa/Xtr6pSZIWzV4C+oKFcm7I3ypfSDJ80QdheXaaot/VuEeXAr2WMOKZQi3X9+yka2a4p3v2Sy6eJeLwPJS5+4BwHkNuZn4OEH7LkK5ufU4Y+5HrNe0IDIDdKxQxskiHf77xr+1X+5nlbIjD9JvkGvk4gG4sfBXgtQ5/EA=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776882348; c=relaxed/simple;\n bh=8O6wMU3/imK1VUqkVRgTW0E8flHzUpao44+kmESp+H0=;\n h=Subject:From:To:Date:Message-ID:MIME-Version;\n b=qUUs4L4gqdBxhnOBRb4jjRBFtBY678XyQGG1YhWE9vYgw/35YIyVzyLqUcCmtH1A3wkmNIAZNoGvEErC1pnFiLcw3qbcfFUZrMuDA6v6hgro8x9uGqWrKS56KelqXeHxppXUYNe9pzSpPMhI0uyXZB/grcw2JCEKISaGpdGQaS4=","ARC-Authentication-Results":"i=1; server2.sourceware.org","Subject":"Re: [PATCH v1 0/1] WIP: libstdc++: add range support to std::optional\n (P3168)","From":"Lichenor Forgejo Bot via Sourceware Forge\n <forge-bot+forge-bot@forge-stage.sourceware.org>","To":"gcc-patches mailing list <gcc-patches@gcc.gnu.org>","Date":"Wed, 22 Apr 2026 18:25:20 +0000","Message-ID":"\n <bmm.hhuogvl3i8.gcc.gcc-TEST.forge-bot.54.5637.CMT@forge-stage.sourceware.org>","In-Reply-To":"\n <bmm.hhuogh01ko.gcc.gcc-TEST.peppe.54.1.0@forge-stage.sourceware.org>","X-Mailer":"batrachomyomachia","X-Requested-Reviewer":"redi","X-Pull-Request-Organization":"gcc","X-Pull-Request-Repository":"gcc-TEST","X-Pull-Request":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/54","X-Comment":"\n https://forge.sourceware.org/gcc/gcc-TEST/pulls/54#issuecomment-5637","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"quoted-printable","MIME-Version":"1.0","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"}},{"id":3680824,"web_url":"http://patchwork.ozlabs.org/comment/3680824/","msgid":"<bmm.h8823m37k0.gcc.gcc-TEST.redi.54.129.REVIEW@forge-stage.sourceware.org>","list_archive_url":null,"date":"2025-06-12T09:13:48","subject":"Re: [PATCH v1 0/1] WIP: libstdc++: add range support to std::optional\n (P3168)","submitter":{"id":93210,"url":"http://patchwork.ozlabs.org/api/people/93210/","name":"Jonathan Wakely via Sourceware Forge","email":"forge-bot+redi@forge-stage.sourceware.org"},"content":"Jonathan Wakely (redi) <redi@gcc.gnu.org>) commented on the code:\n\n\n> +++ libstdc++-v3/testsuite/20_util/optional/version.cc\n> @@ -24,0 +28,4 @@\n> +#  error \"Feature test macro for optional range support has wrong value for C++26 in <version>\"\n> +# endif\n> +#endif\n> +\nAs Tomasz suggested, please also add `#undef __cpp_lib_optional_range_support` and then duplicate these checks at the bottom of the file, after `<optional>` has been included.\n\n> +++ libstdc++-v3/testsuite/20_util/optional/version.cc\n> @@ -24,0 +28,4 @@\n> +#  error \"Feature test macro for optional range support has wrong value for C++26 in <version>\"\n> +# endif\n> +#endif\n> +\nThanks, done now!\n\n\n--\nhttps://forge.sourceware.org/gcc/gcc-TEST/pulls/54#issuecomment-1006","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 spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=38.145.34.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; dmarc=none (p=none dis=none)\n header.from=forge-stage.sourceware.org","sourceware.org;\n spf=pass smtp.mailfrom=forge-stage.sourceware.org","server2.sourceware.org;\n arc=none smtp.remote-ip=38.145.34.39"],"Received":["from vm01.sourceware.org (vm01.sourceware.org [38.145.34.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 4g17Pw0mKyz1yGs\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 23 Apr 2026 04:42:44 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 1D09D43095BD\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 18:42:42 +0000 (GMT)","from forge-stage.sourceware.org (vm08.sourceware.org [38.145.34.39])\n by sourceware.org (Postfix) with ESMTPS id 52A0543B8A92\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 18:25:47 +0000 (GMT)","from forge-stage.sourceware.org (localhost [IPv6:::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256)\n (No client certificate requested)\n by forge-stage.sourceware.org (Postfix) with ESMTPS id 29F1F4346B\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 18:25:47 +0000 (UTC)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 1D09D43095BD","OpenDKIM Filter v2.11.0 sourceware.org 52A0543B8A92"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 52A0543B8A92","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 52A0543B8A92","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776882347; cv=none;\n b=bUTFYJNYR8/QXvpHI0GqSSqim/MpMxy3oeVNyWRzCYzuP9h+SdS6ZYNPpsn1nbRWbPevj1WXJu0EPXqQ043s1opDx7xwqH7a5Z/T+Cf5emIP8EkJXlLSG2vy8hNqbwuU+1Uhcpku8CW3r2lw5ByeU1wJEnnuSD1ufA+0vrGi3Mk=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776882347; c=relaxed/simple;\n bh=DO4FdxNf+YKE1GoVZvsqyPlaj+bn10dLXUoy1BIVvG0=;\n h=Subject:From:To:Date:Message-ID:MIME-Version;\n b=FAOzhSIPxaXgwx3dYlPXK9nkPMjWTlvEwt3wBZC7BhWSHhbfprg5gYzChILaWjaAwQJT2Zr4ahQfIbEbnYRFOYNEI7NBdzy1yef9CmmEtDUkm6HbL5L6Qkm69HpbCqn0NY/5O5wbF9HRQUeAmClT15OlYFYkK4ULzoOWoN81prA=","ARC-Authentication-Results":"i=1; server2.sourceware.org","Subject":"Re: [PATCH v1 0/1] WIP: libstdc++: add range support to std::optional\n (P3168)","From":"Jonathan Wakely via Sourceware Forge\n <forge-bot+redi@forge-stage.sourceware.org>","To":"gcc-patches mailing list <gcc-patches@gcc.gnu.org>","Date":"Thu, 12 Jun 2025 09:13:48 +0000","Message-ID":"\n <bmm.h8823m37k0.gcc.gcc-TEST.redi.54.129.REVIEW@forge-stage.sourceware.org>","In-Reply-To":"\n <bmm.hhuogh01ko.gcc.gcc-TEST.peppe.54.1.0@forge-stage.sourceware.org>","X-Mailer":"batrachomyomachia","X-Requested-Reviewer":"redi","X-Pull-Request-Organization":"gcc","X-Pull-Request-Repository":"gcc-TEST","X-Pull-Request":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/54","X-Review":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/54#issuecomment-1006","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"quoted-printable","MIME-Version":"1.0","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"}},{"id":3680825,"web_url":"http://patchwork.ozlabs.org/comment/3680825/","msgid":"<bmm.h87edm5nr4.gcc.gcc-TEST.tkaminsk.54.127.REVIEW@forge-stage.sourceware.org>","list_archive_url":null,"date":"2025-06-11T18:53:10","subject":"Re: [PATCH v1 0/1] WIP: libstdc++: add range support to std::optional\n (P3168)","submitter":{"id":93223,"url":"http://patchwork.ozlabs.org/api/people/93223/","name":"tkaminsk via Sourceware Forge","email":"forge-bot+tkaminsk@forge-stage.sourceware.org"},"content":"(tkaminsk) <tkaminsk@gcc.gnu.org>) commented on the code:\n\n\n> +++ libstdc++-v3/testsuite/20_util/optional/requirements.cc\n> @@ -30,6 +30,15 @@\n>  # error \"Feature test macro for optional has wrong value for C++23 in <version>\"\n>  #endif\n>  \n> +#if __cplusplus > 202302L\nWe do not need to test it twice. Leave it only in version.cc\n\n> +++ libstdc++-v3/testsuite/20_util/optional/requirements.cc\n> @@ -30,6 +30,15 @@\n>  # error \"Feature test macro for optional has wrong value for C++23 in <version>\"\n>  #endif\n>  \n> +#if __cplusplus > 202302L\nIs there any reason for this pre-existing duplication? (Fearing some corner case in how the autotest suite works)\n\n> +++ libstdc++-v3/testsuite/20_util/optional/requirements.cc\n> @@ -30,6 +30,15 @@\n>  # error \"Feature test macro for optional has wrong value for C++23 in <version>\"\n>  #endif\n>  \n> +#if __cplusplus > 202302L\nAh, one test including version, and other test including optional, I would in `version.cc` add `#undef __cpp_lib_optional_range_support` and test again, similary how it is done for `__cpp_lib_freestanding_optional`. This make it clear that repetition is intentional.\n\n> +++ libstdc++-v3/testsuite/20_util/optional/requirements.cc\n> @@ -30,6 +30,15 @@\n>  # error \"Feature test macro for optional has wrong value for C++23 in <version>\"\n>  #endif\n>  \n> +#if __cplusplus > 202302L\nBefore GCC 14 we had to manually define each feature test macro in all the relevant places, i.e. in `<version>` and in the other appropriate headers (so `<optional>` here). It was possible to mess up and only put it in one place, or define it with inconsistent values. So it made sense to test that `<optional>` defined the macro(s) correctly, and separately test that `<version>` defined them correctly.\n\nSince b7b801b2f563b5f324805a85f5bea973a0daa65c it's impossible for the macros to have inconsistent values, and impossible for `<version>` to not define the macro. So now we only really need to test that the macro is defined correctly by `<optional>`.\n\nThe `version.cc` test checks it in both `<version>` and `<optional>` which is probably redundant, it's probably good enough to only check `<optional>`.\n\nIn any case, I agree that we don't need to check it here in requirements, so we could move the existing macro checks from this file to the end of `version.cc`, and then remove the `{ dg-add-options no_pch }` directive so that the test is able to use the PCH to speed up compilation. So please don't add to this requirements.cc test, and then we'll separately move what's in that file already.\n\n\n\n--\nhttps://forge.sourceware.org/gcc/gcc-TEST/pulls/54#issuecomment-995","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 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; dmarc=none (p=none dis=none)\n header.from=forge-stage.sourceware.org","sourceware.org;\n spf=pass smtp.mailfrom=forge-stage.sourceware.org","server2.sourceware.org;\n arc=none smtp.remote-ip=38.145.34.39"],"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 4g17RP43D1z1yGs\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 23 Apr 2026 04:44:01 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 9185A4BAE7ED\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 18:43:59 +0000 (GMT)","from forge-stage.sourceware.org (vm08.sourceware.org [38.145.34.39])\n by sourceware.org (Postfix) with ESMTPS id 397D243787F1\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 18:25:47 +0000 (GMT)","from forge-stage.sourceware.org (localhost [IPv6:::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256)\n (No client certificate requested)\n by forge-stage.sourceware.org (Postfix) with ESMTPS id 14B384346A\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 18:25:47 +0000 (UTC)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 9185A4BAE7ED","OpenDKIM Filter v2.11.0 sourceware.org 397D243787F1"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 397D243787F1","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 397D243787F1","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776882347; cv=none;\n b=Y6l+TyywJN2cjlqIzsCyWXmbRZ06jJyygKiFhrPVofHAMXk9wg7EAINHd6VZ/VE0FOYTNg8BO34MUkmVnKjzKf+soRfNL3Wy+lxZ80vYZ5bv4XoEBngge31BfLUghor/1Oh9mj03NMc3Ik5V4MMcy/QTy9PHdX5KCkRDwryl+GU=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776882347; c=relaxed/simple;\n bh=PGz4JmnNN++FgkQFiZlifpyTdMADDjhi3C++qeKqkC0=;\n h=Subject:From:To:Date:Message-ID:MIME-Version;\n b=sR+jNwpFsitzyfGALtH/qNv3TGTBrSaqSVDgVxDdWxa4Y4ULGk3/T2Najq1vw5O8fbDlD9IWwvS14B+Kh55ghbimtsr2kdtVhaeHzlJqowpqKPrMbxVXAOq4sLIcSgGbo9/U/46wM8/xO2OrxUeUE9WDuRIv23gi3JK/0OmYBM4=","ARC-Authentication-Results":"i=1; server2.sourceware.org","Subject":"Re: [PATCH v1 0/1] WIP: libstdc++: add range support to std::optional\n (P3168)","From":"tkaminsk via Sourceware Forge\n <forge-bot+tkaminsk@forge-stage.sourceware.org>","To":"gcc-patches mailing list <gcc-patches@gcc.gnu.org>","Date":"Wed, 11 Jun 2025 18:53:10 +0000","Message-ID":"\n <bmm.h87edm5nr4.gcc.gcc-TEST.tkaminsk.54.127.REVIEW@forge-stage.sourceware.org>","In-Reply-To":"\n <bmm.hhuogh01ko.gcc.gcc-TEST.peppe.54.1.0@forge-stage.sourceware.org>","X-Mailer":"batrachomyomachia","X-Requested-Reviewer":"redi","X-Pull-Request-Organization":"gcc","X-Pull-Request-Repository":"gcc-TEST","X-Pull-Request":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/54","X-Review":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/54#issuecomment-995","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"quoted-printable","MIME-Version":"1.0","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"}}]