Message ID | 20230322175003.408005-1-jwakely@redhat.com |
---|---|
State | Repeat Merge |
Headers |
Return-Path: <gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp2478665wrt; Wed, 22 Mar 2023 10:54:14 -0700 (PDT) X-Google-Smtp-Source: AK7set9N+j6LNxAbKzheWcz0fnvp4retoFy/ZoWpY9gAxEJxm7YdUqs3YKnK2C/AIqT8XRyrei/g X-Received: by 2002:a50:fe88:0:b0:501:d190:b362 with SMTP id d8-20020a50fe88000000b00501d190b362mr7510012edt.27.1679507654345; Wed, 22 Mar 2023 10:54:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679507654; cv=none; d=google.com; s=arc-20160816; b=M6Ejf8t4SdIra2tcAL+op9WxOaZI75hQN35bUYUP4gUBSgAysiVUnH2WVKS4tInEAh bGrdWcl/y1HA7JdOyjF5bf/jGV4PaCavsigNNdh9L8Wwzu9koApZqi4ixeirnnXAUPSP +zMcpYYlJCWqlMfO1WNdB215fQxlOKvL3XNGkr5ZDgwMoaT62KXLYAH6gRcS1ducCVB+ qrXk67hgdOYrnzMdzlbCxeJXiLcs8w7Coj91T2Egmm/uzAYyYi1pIQz4QSxUg6XLRzpE pUVpJ/ES8OTzTOi1V5VptBljqDotImKbaj1Pwbbt93auqd28D6Oip8FVl1/0aL5CDNsq sRlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:from:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence :content-transfer-encoding:mime-version:message-id:date:subject:to :dmarc-filter:delivered-to:dkim-signature:dkim-filter; bh=6aDcnlV+2sc2a/NHutKF612zVSpW9JQT7Hgp49aTIfs=; b=s21Tg9PWPKQjkzHfkKK/Yq8UVeRMsePMExdYlVy4bMdpGDW9Vp8Jo4i2lCeWK0Yvgr A8lidyfB3+d4JbS4JmswYlgksaQZOPT/7FRmWi5T7PsYfoqcnJ8oA9n1WXpTcE1Y0Qi3 lDHbxjcePZ4MFaFWNjyYHcJx6KHcreCICRCqfclD3XUuHJKb4sMPl7kT2DYvoveEB8wv +sRREyeB09bmkrqkokWu5LDRTzxuDAeKl98JstEl35RVXcaL7lofIyXShtO3BVPFm0Os Y+uwOiVXawKs/F+N60h6eUM4NvWU2FyPVrB3WGzoA9KsELsniqtqlbTw9OvoZ7nTvmZK Bs5w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b="Ii/+Svbv"; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id s5-20020a170906960500b00930f5ecbd94si16368181ejx.346.2023.03.22.10.54.14 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Mar 2023 10:54:14 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b="Ii/+Svbv"; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 390D2383E681 for <ouuuleilei@gmail.com>; Wed, 22 Mar 2023 17:51:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 390D2383E681 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1679507506; bh=6aDcnlV+2sc2a/NHutKF612zVSpW9JQT7Hgp49aTIfs=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=Ii/+SvbvDb9CfddGxnDWxhP5BVgnxb5T+N/lBFEUF0gaud5kHRRyvVqs6lSgEQUhF 3jUyzSQmCySDd3ERXZfOBk350YYN8vbOlistuGAhFFk++MBuFV2A9toUV2cQsb+SqV GaboklmzzjEH0p/neihybEi1j1qwEa5737AE5hNA= 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 01BEE384D16D for <gcc-patches@gcc.gnu.org>; Wed, 22 Mar 2023 17:50:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 01BEE384D16D Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-64-SPoweCEWPlK_xo-09PsBWA-1; Wed, 22 Mar 2023 13:50:04 -0400 X-MC-Unique: SPoweCEWPlK_xo-09PsBWA-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 268B93C0E468; Wed, 22 Mar 2023 17:50:04 +0000 (UTC) Received: from localhost (unknown [10.33.36.149]) by smtp.corp.redhat.com (Postfix) with ESMTP id B1C4D51FF; Wed, 22 Mar 2023 17:50:03 +0000 (UTC) To: libstdc++@gcc.gnu.org, gcc-patches@gcc.gnu.org Subject: [committed] libstdc++: Add missing __cpp_lib_format macro to <version> Date: Wed, 22 Mar 2023 17:50:03 +0000 Message-Id: <20230322175003.408005-1-jwakely@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP 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.29 Precedence: list List-Id: Gcc-patches mailing list <gcc-patches.gcc.gnu.org> List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-patches>, <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>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> From: Jonathan Wakely via Gcc-patches <gcc-patches@gcc.gnu.org> Reply-To: Jonathan Wakely <jwakely@redhat.com> Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" <gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org> X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761091418340076875?= X-GMAIL-MSGID: =?utf-8?q?1761091418340076875?= |
Series |
[committed] libstdc++: Add missing __cpp_lib_format macro to <version>
|
|
Checks
Context | Check | Description |
---|---|---|
snail/gcc-patch-check | warning | Git am fail log |
Commit Message
Jonathan Wakely
March 22, 2023, 5:50 p.m. UTC
Tested powerpc64le-linux, pushed to trunk. -- >8-- libstdc++-v3/ChangeLog: * include/std/version (__cpp_lib_format): Define. * testsuite/std/format/functions/format.cc: Check it. --- libstdc++-v3/include/std/version | 1 + .../testsuite/std/format/functions/format.cc | 15 +++++++++++++++ 2 files changed, 16 insertions(+)
Comments
Am Mi., 22. März 2023 um 18:53 Uhr schrieb Jonathan Wakely via Libstdc++ <libstdc++@gcc.gnu.org>: > > Tested powerpc64le-linux, pushed to trunk. > > -- >8-- > > libstdc++-v3/ChangeLog: > > * include/std/version (__cpp_lib_format): Define. > * testsuite/std/format/functions/format.cc: Check it. > --- > libstdc++-v3/include/std/version | 1 + > .../testsuite/std/format/functions/format.cc | 15 +++++++++++++++ > 2 files changed, 16 insertions(+) > > diff --git a/libstdc++-v3/include/std/version b/libstdc++-v3/include/std/version > index 25ebfc3e512..a19c39c6cdd 100644 > --- a/libstdc++-v3/include/std/version > +++ b/libstdc++-v3/include/std/version > @@ -277,6 +277,7 @@ > #define __cpp_lib_constexpr_utility 201811L > #define __cpp_lib_constexpr_vector 201907L > #define __cpp_lib_erase_if 202002L > +#define __cpp_lib_format 202106L Shouldn't the value be 202207L? (This of-course of your conforming completeness) Thanks, - Daniel
On Wed, 22 Mar 2023 at 17:59, Daniel Krügler <daniel.kruegler@gmail.com> wrote: > Am Mi., 22. März 2023 um 18:53 Uhr schrieb Jonathan Wakely via > Libstdc++ <libstdc++@gcc.gnu.org>: > > > > Tested powerpc64le-linux, pushed to trunk. > > > > -- >8-- > > > > libstdc++-v3/ChangeLog: > > > > * include/std/version (__cpp_lib_format): Define. > > * testsuite/std/format/functions/format.cc: Check it. > > --- > > libstdc++-v3/include/std/version | 1 + > > .../testsuite/std/format/functions/format.cc | 15 +++++++++++++++ > > 2 files changed, 16 insertions(+) > > > > diff --git a/libstdc++-v3/include/std/version > b/libstdc++-v3/include/std/version > > index 25ebfc3e512..a19c39c6cdd 100644 > > --- a/libstdc++-v3/include/std/version > > +++ b/libstdc++-v3/include/std/version > > @@ -277,6 +277,7 @@ > > #define __cpp_lib_constexpr_utility 201811L > > #define __cpp_lib_constexpr_vector 201907L > > #define __cpp_lib_erase_if 202002L > > +#define __cpp_lib_format 202106L > > Shouldn't the value be 202207L? (This of-course of your conforming > completeness) > > Well spotted! The historical values listed in SD-6 are included in a comment in <format>: // 201907 Text Formatting, Integration of chrono, printf corner cases. // 202106 std::format improvements. // 202110 Fixing locale handling in chrono formatters, generator-like types. // 202207 Encodings in localized formatting of chrono, basic-format-string. #define __cpp_lib_format 202106L The libstdc++ support only got as far as 202106 so far :-) (We actually do implement the support for generator-like types from P2418R2 and the std::basic_format_string change from P2508R1, but can't bump the value to 202207 until the other changes are supported too.) I might still find time to finish P2372R3 and P2419R2 for GCC 13, but no promises.
On Wed, 22 Mar 2023 at 19:46, Jonathan Wakely <jwakely@redhat.com> wrote: > > > On Wed, 22 Mar 2023 at 17:59, Daniel Krügler <daniel.kruegler@gmail.com> > wrote: > >> Am Mi., 22. März 2023 um 18:53 Uhr schrieb Jonathan Wakely via >> Libstdc++ <libstdc++@gcc.gnu.org>: >> > >> > Tested powerpc64le-linux, pushed to trunk. >> > >> > -- >8-- >> > >> > libstdc++-v3/ChangeLog: >> > >> > * include/std/version (__cpp_lib_format): Define. >> > * testsuite/std/format/functions/format.cc: Check it. >> > --- >> > libstdc++-v3/include/std/version | 1 + >> > .../testsuite/std/format/functions/format.cc | 15 +++++++++++++++ >> > 2 files changed, 16 insertions(+) >> > >> > diff --git a/libstdc++-v3/include/std/version >> b/libstdc++-v3/include/std/version >> > index 25ebfc3e512..a19c39c6cdd 100644 >> > --- a/libstdc++-v3/include/std/version >> > +++ b/libstdc++-v3/include/std/version >> > @@ -277,6 +277,7 @@ >> > #define __cpp_lib_constexpr_utility 201811L >> > #define __cpp_lib_constexpr_vector 201907L >> > #define __cpp_lib_erase_if 202002L >> > +#define __cpp_lib_format 202106L >> >> Shouldn't the value be 202207L? (This of-course of your conforming >> completeness) >> >> > Well spotted! > > The historical values listed in SD-6 are included in a comment in <format>: > > // 201907 Text Formatting, Integration of chrono, printf corner cases. > // 202106 std::format improvements. > // 202110 Fixing locale handling in chrono formatters, generator-like > types. > // 202207 Encodings in localized formatting of chrono, basic-format-string. > #define __cpp_lib_format 202106L > > The libstdc++ support only got as far as 202106 so far :-) > > (We actually do implement the support for generator-like types from > P2418R2 and the std::basic_format_string change from P2508R1, but can't > bump the value to 202207 until the other changes are supported too.) > > I might still find time to finish P2372R3 and P2419R2 for GCC 13, but no > promises. > Hmm, actually maybe I already did all of P2372R3 as part of the <chrono> formatting, so it should be 202110. And for P2419R2 we could say that the implementation-defined set of locales is empty ... but that's pretty poor QoI. There are also some more changes in C++23 (P2572 and P2675) which aren't done yet.
diff --git a/libstdc++-v3/include/std/version b/libstdc++-v3/include/std/version index 25ebfc3e512..a19c39c6cdd 100644 --- a/libstdc++-v3/include/std/version +++ b/libstdc++-v3/include/std/version @@ -277,6 +277,7 @@ #define __cpp_lib_constexpr_utility 201811L #define __cpp_lib_constexpr_vector 201907L #define __cpp_lib_erase_if 202002L +#define __cpp_lib_format 202106L #define __cpp_lib_generic_unordered_lookup 201811L #define __cpp_lib_interpolate 201902L #ifdef _GLIBCXX_HAS_GTHREADS diff --git a/libstdc++-v3/testsuite/std/format/functions/format.cc b/libstdc++-v3/testsuite/std/format/functions/format.cc index 7a155208a48..2a1b1560394 100644 --- a/libstdc++-v3/testsuite/std/format/functions/format.cc +++ b/libstdc++-v3/testsuite/std/format/functions/format.cc @@ -2,6 +2,21 @@ // { dg-do run { target c++20 } } #include <format> + +#ifndef __cpp_lib_format +# error "Feature test macro for std::format is missing in <format>" +#elif __cpp_lib_format < 202106L +# error "Feature test macro for std::format has wrong value in <format>" +#endif + +#undef __cpp_lib_format +#include <version> +#ifndef __cpp_lib_format +# error "Feature test macro for std::format is missing in <version>" +#elif __cpp_lib_format < 202106L +# error "Feature test macro for std::format has wrong value in <version>" +#endif + #include <string> #include <limits> #include <cstdint>