public inbox for libstdc++-cvs@sourceware.org help / color / mirror / Atom feed
From: Jonathan Wakely <redi@gcc.gnu.org> To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc r13-4061] libstdc++: Fix std::format test for strict -std=c++20 mode Date: Tue, 15 Nov 2022 14:29:36 +0000 (GMT) [thread overview] Message-ID: <20221115142936.1B2C33896C15@sourceware.org> (raw) https://gcc.gnu.org/g:c68c468e0ebb6922816367a06e4ab02bad08eb08 commit r13-4061-gc68c468e0ebb6922816367a06e4ab02bad08eb08 Author: Jonathan Wakely <jwakely@redhat.com> Date: Tue Nov 15 14:24:57 2022 +0000 libstdc++: Fix std::format test for strict -std=c++20 mode Adjust a test to avoid using std::make_unsigned_t<__int128>. That's ill-formed in strict modes because std::is_integral_v<__int128> is false. libstdc++-v3/ChangeLog: * testsuite/std/format/functions/format.cc: Do not use std::make_unsigned_t<__int128>. Diff: --- libstdc++-v3/testsuite/std/format/functions/format.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libstdc++-v3/testsuite/std/format/functions/format.cc b/libstdc++-v3/testsuite/std/format/functions/format.cc index c01405eac90..8019fbdf712 100644 --- a/libstdc++-v3/testsuite/std/format/functions/format.cc +++ b/libstdc++-v3/testsuite/std/format/functions/format.cc @@ -233,7 +233,7 @@ test_wchar() void test_minmax() { - auto check = []<typename T>(T) { + auto check = []<typename T, typename U = std::make_unsigned_t<T>>(T, U = 0) { const int digits = std::numeric_limits<T>::digits; const std::string zeros(digits, '0'); const std::string ones(digits, '1'); @@ -241,7 +241,6 @@ test_minmax() VERIFY( s == "-1" + zeros ); s = std::format("{:b}" , std::numeric_limits<T>::max()); VERIFY( s == ones ); - using U = std::make_unsigned_t<T>; s = std::format("{:0{}b}" , std::numeric_limits<U>::min(), digits + 1); VERIFY( s == '0' + zeros ); s = std::format("{:b}" , std::numeric_limits<U>::max()); @@ -252,7 +251,9 @@ test_minmax() check(std::int32_t(0)); check(std::int64_t(0)); #ifdef __SIZEOF_INT128__ - check(__int128(0)); + // std::make_unsigned_t<__int128> is invalid for strict -std=c++20 mode, + // so pass a second argument of the unsigned type. + check(__int128(0), (unsigned __int128)(0)); #endif }
reply other threads:[~2022-11-15 14:29 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20221115142936.1B2C33896C15@sourceware.org \ --to=redi@gcc.gnu.org \ --cc=gcc-cvs@gcc.gnu.org \ --cc=libstdc++-cvs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).