Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2216604/?format=api
{ "id": 2216604, "url": "http://patchwork.ozlabs.org/api/patches/2216604/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/20260326225741.1379555-1-fpelliccioni@gmail.com/", "project": { "id": 17, "url": "http://patchwork.ozlabs.org/api/projects/17/?format=api", "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": "<20260326225741.1379555-1-fpelliccioni@gmail.com>", "list_archive_url": null, "date": "2026-03-26T22:57:41", "name": "libstdc++: Deprecate numeric_limits::has_denorm (P2614R2)", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "037ee5f9f4162649e11b8f84636c2d4a7762e9f2", "submitter": { "id": 92983, "url": "http://patchwork.ozlabs.org/api/people/92983/?format=api", "name": "Fernando Pelliccioni", "email": "fpelliccioni@gmail.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/20260326225741.1379555-1-fpelliccioni@gmail.com/mbox/", "series": [ { "id": 497664, "url": "http://patchwork.ozlabs.org/api/series/497664/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=497664", "date": "2026-03-26T22:57:41", "name": "libstdc++: Deprecate numeric_limits::has_denorm (P2614R2)", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/497664/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2216604/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2216604/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 (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=OFNScwyI;\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 (2048-bit key,\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=OFNScwyI", "sourceware.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com", "sourceware.org; spf=pass smtp.mailfrom=gmail.com", "server2.sourceware.org;\n arc=none smtp.remote-ip=209.85.128.51" ], "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 4fhfNY14dkz1yFp\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 27 Mar 2026 09:59:03 +1100 (AEDT)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id C0FFF4BAD155\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 26 Mar 2026 22:59:01 +0000 (GMT)", "from mail-wm1-f51.google.com (mail-wm1-f51.google.com\n [209.85.128.51])\n by sourceware.org (Postfix) with ESMTPS id 4F3FB4B9DB42\n for <gcc-patches@gcc.gnu.org>; Thu, 26 Mar 2026 22:58:08 +0000 (GMT)", "by mail-wm1-f51.google.com with SMTP id\n 5b1f17b1804b1-48704db565eso21493205e9.1\n for <gcc-patches@gcc.gnu.org>; Thu, 26 Mar 2026 15:58:08 -0700 (PDT)", "from labruna ([79.117.51.172]) by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-48722be47a4sm84161215e9.0.2026.03.26.15.58.05\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 26 Mar 2026 15:58:05 -0700 (PDT)" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org C0FFF4BAD155", "OpenDKIM Filter v2.11.0 sourceware.org 4F3FB4B9DB42" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 4F3FB4B9DB42", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 4F3FB4B9DB42", "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1774565888; cv=none;\n b=ItDzCguSr+jTkB2tZDhCfMnzRT0cZwhYokGyVjmgV2aGgllK7WkvkAuPc+khBUXTHTz5PfgHTkrFN9gJEZcAGYms5izP+uwP7lYe/AIBtjvxa8IpkTYUqMKGmgUy0TFwmEOmOnf3GeDI3P/8mkP1uVc/k6vRRnFL8R2UfHfZ8cU=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1774565888; c=relaxed/simple;\n bh=MJuuoCKD+jwd3rLJuCb0GNhHs1QUVLhqd4OTn9R2P0U=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=eUOGX4hkKFUDEkBMpoV5KHLVVCOUJ9XymtBmeFLNHS00slfHWI6B9EGzAqoK56+fNjmNvGy5qmhvN6WVm1IBmhNLt/gFXYhSXsu2inn/OHG0st27l6/fvPAsgherp95Q/7fmPUMhQhOfVB+OBUVkod2etKB6AMExPeHneblGRMA=", "ARC-Authentication-Results": "i=1; server2.sourceware.org", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1774565887; x=1775170687; darn=gcc.gnu.org;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=xFwQ1vQ9rV50ck7l/JtsywaC7CW0XdbIQ7a4fDc3ZZ0=;\n b=OFNScwyIGK4WjM/PhR+PfFH15hxxVv661Yfyt/SWIJMzrCus7TkdZXyUqzFkDKO1r8\n Vhg+BffwalHcMBjqw6DKl2c60+Msnz8R9FiLMWRHYtmiuXKvC+u3iIknAgeHrLITfDqX\n eorZQP2XD0pTcqBwN9vn+vUhs9+QduM6I8VPdD0jRxMcJL57OUmDeqJcCe+/uyDN5Vaa\n MqOydi5bR5gUW/e0pRGSsZPrVrm/FxaHb2ZYcdFnBSRyerqaOasIlrY0CA4mRVNSJRhU\n 4O6jfqYpNjb+dy6x4roRl51jSatGIZ1D/9K5sGxaMsIY4OCntMoSGTTxSnNrSKVPVrqc\n 2YwQ==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1774565887; x=1775170687;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=xFwQ1vQ9rV50ck7l/JtsywaC7CW0XdbIQ7a4fDc3ZZ0=;\n b=OMZ4HODr1sDsIFrhkXL5BybE+SoOmIrNl0+MK08GGtj8RsLSbBIJcqdCbbLLXRFUnZ\n KsfH5aHl/hdX5vtnVafnLdS2o0L5UOJApBOQwNs618YI8lJOxxSXzIlpKwz3Bt9WeD/B\n EFaEAKIbW02Er4jwZzJD4z8gPau5mnXT5Y2HVEfmxg4kjJ/RKP50SbPse/7tFVs3EHko\n ptCMPqmpP7eETC2zZA9jIrThwhfrFbPovIw/feOd4DzimoRVyQC8WGjyYg4JjpHkNdql\n pHjEcToXwaB1w9n6OIp0ELiKzukGSgG5n1XA0eMt0DsLJPqTrG7Vs2kNIjeclPmK1YaH\n f2qQ==", "X-Gm-Message-State": "AOJu0Yz3CjQ0TrIUxZ9Y8J7UFVy95xIA8BVKTTn+895tGyfSW13f2xOj\n l4Nxj3ZeWuVq1y82UPlAyfPNAI4MKcMo356eUBzLm1KknH5+pQaQPOG8BT4wHA==", "X-Gm-Gg": "ATEYQzy3SVVZsvaL7FqxEOBv3FojJ7JXsuSVzpR6vWbJ+Q7J988kNMpbPofwUcVOaSi\n XUMJbv/9nhB0OXShbDBo0TMnLVIkLVvQd9kX3FfV0sgzmenWGu+AAAuQnAqVR+5D++OPYfLILcG\n Gal5QQZTeUi+82jU/VVnN+lG9p723paA0LOCbC4y/q+dX+Q77QPWNnXmyt2Id4OLGDhP5vs4xqC\n TP67pU+Mw8or8JKC42TtIwq+cX8b+cOU4QjqwA0bW2uD5rKwhB7HT61KB/wAKJWyhAFxCTYNxeS\n 2WIdf0cskkMwWZ6n9jqbsmpzAWN5ZhibLmxQAJnviGKJiauU9oAoaChqX9WryuluuClpNYyFv6p\n aPccvJTiqqd1aMDse+XAqPQApLckRnZY4XycDAZDXjkniEFgjkRUqMDy1VoxN7NrNdJZ3wxUTvB\n VFoneDI3G0eLwpNLUsjUv7", "X-Received": "by 2002:a05:600c:c493:b0:485:3a03:cee1 with SMTP id\n 5b1f17b1804b1-48727eeb7e5mr5587245e9.33.1774565886363;\n Thu, 26 Mar 2026 15:58:06 -0700 (PDT)", "From": "Fernando Pelliccioni <fpelliccioni@gmail.com>", "To": "gcc-patches@gcc.gnu.org", "Cc": "libstdc++@gcc.gnu.org,\n\tFernando Pelliccioni <fpelliccioni@gmail.com>", "Subject": "[PATCH] libstdc++: Deprecate numeric_limits::has_denorm (P2614R2)", "Date": "Thu, 26 Mar 2026 23:57:41 +0100", "Message-ID": "<20260326225741.1379555-1-fpelliccioni@gmail.com>", "X-Mailer": "git-send-email 2.52.0", "MIME-Version": "1.0", "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": "Deprecate numeric_limits::has_denorm, numeric_limits::has_denorm_loss,\nand the float_denorm_style enum as specified by P2614R2 (C++23).\n\nThe deprecation uses _GLIBCXX23_DEPRECATED on the member declarations,\nwith #pragma GCC diagnostic push/pop to suppress warnings from the\ndeprecated float_denorm_style type within the header itself. Internal\nuses of has_denorm (e.g. in is_iec559 initialization) are also wrapped\nwith diagnostic suppression.\n\nlibstdc++-v3/ChangeLog:\n\n\t* include/std/limits (float_denorm_style): Deprecate.\n\t(has_denorm, has_denorm_loss): Deprecate in all specializations.\n\tSuppress deprecated warnings for internal uses in is_iec559.\n\t* include/bits/max_size_type.h (has_denorm, has_denorm_loss):\n\tDeprecate.\n\t* testsuite/18_support/numeric_limits/char16_32_t.cc: Suppress\n\tthe deprecation warning.\n\t* testsuite/18_support/numeric_limits/char8_t.cc: Likewise.\n\t* testsuite/18_support/numeric_limits/denorm_min.cc: Likewise.\n\t* testsuite/18_support/numeric_limits/dr559.cc: Likewise.\n\t* testsuite/18_support/numeric_limits/requirements/constexpr_data.cc:\n\tLikewise.\n\t* testsuite/18_support/numeric_limits/specialization_default_values.cc:\n\tLikewise.\n\t* testsuite/std/ranges/iota/max_size_type.cc: Likewise.\n\t* testsuite/18_support/numeric_limits/deprecated-2b.cc: New test.\n\nSigned-off-by: Fernando Pelliccioni <fpelliccioni@gmail.com>\n---\n libstdc++-v3/include/bits/max_size_type.h | 14 +-\n libstdc++-v3/include/std/limits | 209 ++++++++++++++----\n .../18_support/numeric_limits/char16_32_t.cc | 1 +\n .../18_support/numeric_limits/char8_t.cc | 1 +\n .../18_support/numeric_limits/denorm_min.cc | 1 +\n .../numeric_limits/deprecated-2b.cc | 28 +++\n .../18_support/numeric_limits/dr559.cc | 1 +\n .../requirements/constexpr_data.cc | 1 +\n .../specialization_default_values.cc | 1 +\n .../std/ranges/iota/max_size_type.cc | 1 +\n 10 files changed, 213 insertions(+), 45 deletions(-)\n create mode 100644 libstdc++-v3/testsuite/18_support/numeric_limits/deprecated-2b.cc", "diff": "diff --git a/libstdc++-v3/include/bits/max_size_type.h b/libstdc++-v3/include/bits/max_size_type.h\nindex 042aad10a13..cc7fe2d0396 100644\n--- a/libstdc++-v3/include/bits/max_size_type.h\n+++ b/libstdc++-v3/include/bits/max_size_type.h\n@@ -791,9 +791,12 @@ namespace ranges\n static constexpr bool has_infinity = false;\n static constexpr bool has_quiet_NaN = false;\n static constexpr bool has_signaling_NaN = false;\n- static constexpr bool has_denorm_loss = false;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n+ static constexpr bool has_denorm_loss _GLIBCXX23_DEPRECATED = false;\n static constexpr bool tinyness_before = false;\n- static constexpr float_denorm_style has_denorm = denorm_absent;\n+ static constexpr float_denorm_style has_denorm _GLIBCXX23_DEPRECATED = denorm_absent;\n+#pragma GCC diagnostic pop\n static constexpr float_round_style round_style = round_toward_zero;\n \n static constexpr _Sp\n@@ -858,9 +861,12 @@ namespace ranges\n static constexpr bool has_infinity = false;\n static constexpr bool has_quiet_NaN = false;\n static constexpr bool has_signaling_NaN = false;\n- static constexpr bool has_denorm_loss = false;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n+ static constexpr bool has_denorm_loss _GLIBCXX23_DEPRECATED = false;\n static constexpr bool tinyness_before = false;\n- static constexpr float_denorm_style has_denorm = denorm_absent;\n+ static constexpr float_denorm_style has_denorm _GLIBCXX23_DEPRECATED = denorm_absent;\n+#pragma GCC diagnostic pop\n static constexpr float_round_style round_style = round_toward_zero;\n \n static constexpr _Dp\ndiff --git a/libstdc++-v3/include/std/limits b/libstdc++-v3/include/std/limits\nindex f0ba2851a0a..b4f53866a20 100644\n--- a/libstdc++-v3/include/std/limits\n+++ b/libstdc++-v3/include/std/limits\n@@ -186,7 +186,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n * These values represent the presence or absence of a variable number\n * of exponent bits. This type is used in the std::numeric_limits class.\n */\n- enum float_denorm_style\n+ enum\n+ _GLIBCXX23_DEPRECATED\n+ float_denorm_style\n {\n /// Indeterminate at compile time whether denormalized values are allowed.\n denorm_indeterminate = -1,\n@@ -270,11 +272,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;\n \n /** See std::float_denorm_style for more information. */\n- static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm = denorm_absent;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n+ static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\n+ _GLIBCXX23_DEPRECATED = denorm_absent;\n \n /** True if loss of accuracy is detected as a denormalization loss,\n \trather than as an inexact result. */\n- static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;\n+ static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\n+ _GLIBCXX23_DEPRECATED = false;\n+#pragma GCC diagnostic pop\n \n /** True if-and-only-if the type adheres to the IEC 559 standard, also\n \tknown as IEEE 754. (Only makes sense for floating point types.) */\n@@ -426,9 +433,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\n- = denorm_absent;\n- static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;\n+ _GLIBCXX23_DEPRECATED = denorm_absent;\n+ static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\n+\t_GLIBCXX23_DEPRECATED = false;\n+#pragma GCC diagnostic pop\n \n static _GLIBCXX_CONSTEXPR bool\n infinity() _GLIBCXX_USE_NOEXCEPT { return false; }\n@@ -496,9 +507,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\n- = denorm_absent;\n- static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;\n+ _GLIBCXX23_DEPRECATED = denorm_absent;\n+ static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\n+\t_GLIBCXX23_DEPRECATED = false;\n+#pragma GCC diagnostic pop\n \n static _GLIBCXX_CONSTEXPR\n char infinity() _GLIBCXX_USE_NOEXCEPT { return char(); }\n@@ -564,9 +579,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\n- = denorm_absent;\n- static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;\n+ _GLIBCXX23_DEPRECATED = denorm_absent;\n+ static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\n+\t_GLIBCXX23_DEPRECATED = false;\n+#pragma GCC diagnostic pop\n \n static _GLIBCXX_CONSTEXPR signed char\n infinity() _GLIBCXX_USE_NOEXCEPT { return static_cast<signed char>(0); }\n@@ -635,9 +654,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\n- = denorm_absent;\n- static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;\n+ _GLIBCXX23_DEPRECATED = denorm_absent;\n+ static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\n+\t_GLIBCXX23_DEPRECATED = false;\n+#pragma GCC diagnostic pop\n \n static _GLIBCXX_CONSTEXPR unsigned char\n infinity() _GLIBCXX_USE_NOEXCEPT\n@@ -707,9 +730,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\n- = denorm_absent;\n- static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;\n+ _GLIBCXX23_DEPRECATED = denorm_absent;\n+ static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\n+\t_GLIBCXX23_DEPRECATED = false;\n+#pragma GCC diagnostic pop\n \n static _GLIBCXX_CONSTEXPR wchar_t\n infinity() _GLIBCXX_USE_NOEXCEPT { return wchar_t(); }\n@@ -771,9 +798,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\n-\t= denorm_absent;\n- static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;\n+ _GLIBCXX23_DEPRECATED = denorm_absent;\n+ static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\n+\t_GLIBCXX23_DEPRECATED = false;\n+#pragma GCC diagnostic pop\n \n static _GLIBCXX_CONSTEXPR char8_t\n infinity() _GLIBCXX_USE_NOEXCEPT { return char8_t(); }\n@@ -836,8 +867,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static constexpr bool has_infinity = false;\n static constexpr bool has_quiet_NaN = false;\n static constexpr bool has_signaling_NaN = false;\n- static constexpr float_denorm_style has_denorm = denorm_absent;\n- static constexpr bool has_denorm_loss = false;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n+ static constexpr float_denorm_style has_denorm\n+\t_GLIBCXX23_DEPRECATED = denorm_absent;\n+ static constexpr bool has_denorm_loss\n+\t_GLIBCXX23_DEPRECATED = false;\n+#pragma GCC diagnostic pop\n \n static constexpr char16_t\n infinity() noexcept { return char16_t(); }\n@@ -897,8 +933,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static constexpr bool has_infinity = false;\n static constexpr bool has_quiet_NaN = false;\n static constexpr bool has_signaling_NaN = false;\n- static constexpr float_denorm_style has_denorm = denorm_absent;\n- static constexpr bool has_denorm_loss = false;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n+ static constexpr float_denorm_style has_denorm\n+\t_GLIBCXX23_DEPRECATED = denorm_absent;\n+ static constexpr bool has_denorm_loss\n+\t_GLIBCXX23_DEPRECATED = false;\n+#pragma GCC diagnostic pop\n \n static constexpr char32_t\n infinity() noexcept { return char32_t(); }\n@@ -963,9 +1004,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\n- = denorm_absent;\n- static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;\n+ _GLIBCXX23_DEPRECATED = denorm_absent;\n+ static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\n+\t_GLIBCXX23_DEPRECATED = false;\n+#pragma GCC diagnostic pop\n \n static _GLIBCXX_CONSTEXPR short\n infinity() _GLIBCXX_USE_NOEXCEPT { return short(); }\n@@ -1032,9 +1077,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\n- = denorm_absent;\n- static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;\n+ _GLIBCXX23_DEPRECATED = denorm_absent;\n+ static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\n+\t_GLIBCXX23_DEPRECATED = false;\n+#pragma GCC diagnostic pop\n \n static _GLIBCXX_CONSTEXPR unsigned short\n infinity() _GLIBCXX_USE_NOEXCEPT\n@@ -1103,9 +1152,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\n- = denorm_absent;\n- static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;\n+ _GLIBCXX23_DEPRECATED = denorm_absent;\n+ static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\n+\t_GLIBCXX23_DEPRECATED = false;\n+#pragma GCC diagnostic pop\n \n static _GLIBCXX_CONSTEXPR int\n infinity() _GLIBCXX_USE_NOEXCEPT { return static_cast<int>(0); }\n@@ -1172,9 +1225,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\n- = denorm_absent;\n- static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;\n+ _GLIBCXX23_DEPRECATED = denorm_absent;\n+ static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\n+\t_GLIBCXX23_DEPRECATED = false;\n+#pragma GCC diagnostic pop\n \n static _GLIBCXX_CONSTEXPR unsigned int\n infinity() _GLIBCXX_USE_NOEXCEPT { return static_cast<unsigned int>(0); }\n@@ -1242,9 +1299,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\n- = denorm_absent;\n- static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;\n+ _GLIBCXX23_DEPRECATED = denorm_absent;\n+ static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\n+\t_GLIBCXX23_DEPRECATED = false;\n+#pragma GCC diagnostic pop\n \n static _GLIBCXX_CONSTEXPR long\n infinity() _GLIBCXX_USE_NOEXCEPT { return static_cast<long>(0); }\n@@ -1311,9 +1372,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\n- = denorm_absent;\n- static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;\n+ _GLIBCXX23_DEPRECATED = denorm_absent;\n+ static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\n+\t_GLIBCXX23_DEPRECATED = false;\n+#pragma GCC diagnostic pop\n \n static _GLIBCXX_CONSTEXPR unsigned long\n infinity() _GLIBCXX_USE_NOEXCEPT\n@@ -1384,9 +1449,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\n- = denorm_absent;\n- static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;\n+ _GLIBCXX23_DEPRECATED = denorm_absent;\n+ static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\n+\t_GLIBCXX23_DEPRECATED = false;\n+#pragma GCC diagnostic pop\n \n static _GLIBCXX_CONSTEXPR long long\n infinity() _GLIBCXX_USE_NOEXCEPT { return static_cast<long long>(0); }\n@@ -1454,9 +1523,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\n- = denorm_absent;\n- static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;\n+ _GLIBCXX23_DEPRECATED = denorm_absent;\n+ static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\n+\t_GLIBCXX23_DEPRECATED = false;\n+#pragma GCC diagnostic pop\n \n static _GLIBCXX_CONSTEXPR unsigned long long\n infinity() _GLIBCXX_USE_NOEXCEPT\n@@ -1523,9 +1596,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;\t\t\\\n static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;\t\t\\\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;\t\\\n+_Pragma(\"GCC diagnostic push\")\t\t\t\t\t\\\n+_Pragma(\"GCC diagnostic ignored \\\"-Wdeprecated-declarations\\\"\")\t\\\n static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\t\\\n+ _GLIBCXX23_DEPRECATED\t\t\t\t\t\t\\\n \t= denorm_absent;\t\t\t\t\t\t\\\n- static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;\t\\\n+ static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\t\\\n+ _GLIBCXX23_DEPRECATED = false;\t\\\n+_Pragma(\"GCC diagnostic pop\")\t\t\t\t\t\\\n \t\t\t\t\t\t\t\t\t\\\n static _GLIBCXX_CONSTEXPR TYPE\t\t\t\t\t\\\n infinity() _GLIBCXX_USE_NOEXCEPT\t\t\t\t\t\\\n@@ -1592,9 +1670,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;\t\t\\\n static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;\t\t\\\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;\t\\\n+_Pragma(\"GCC diagnostic push\")\t\t\t\t\t\\\n+_Pragma(\"GCC diagnostic ignored \\\"-Wdeprecated-declarations\\\"\")\t\\\n static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\t\\\n+ _GLIBCXX23_DEPRECATED\t\t\t\t\t\t\\\n = denorm_absent; \t\t\t\t\t\t\\\n- static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;\t\\\n+ static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\t\\\n+ _GLIBCXX23_DEPRECATED = false;\t\\\n+_Pragma(\"GCC diagnostic pop\")\t\t\t\t\t\\\n \t\t\t\t\t\t\t\t\t\\\n static _GLIBCXX_CONSTEXPR unsigned TYPE \t\t\t\t\\\n infinity() _GLIBCXX_USE_NOEXCEPT \t\t\t\t\t\\\n@@ -1713,10 +1796,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_USE_CONSTEXPR bool has_infinity = __FLT_HAS_INFINITY__;\n static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = __FLT_HAS_QUIET_NAN__;\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = has_quiet_NaN;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\n+ _GLIBCXX23_DEPRECATED\n \t= bool(__FLT_HAS_DENORM__) ? denorm_present : denorm_absent;\n static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\n+ _GLIBCXX23_DEPRECATED\n = __glibcxx_float_has_denorm_loss;\n+#pragma GCC diagnostic pop\n \n static _GLIBCXX_CONSTEXPR float\n infinity() _GLIBCXX_USE_NOEXCEPT { return __builtin_huge_valf(); }\n@@ -1730,8 +1818,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_CONSTEXPR float\n denorm_min() _GLIBCXX_USE_NOEXCEPT { return __FLT_DENORM_MIN__; }\n \n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR bool is_iec559\n \t= has_infinity && has_quiet_NaN && has_denorm == denorm_present;\n+#pragma GCC diagnostic pop\n static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;\n static _GLIBCXX_USE_CONSTEXPR bool is_modulo = false;\n \n@@ -1788,10 +1879,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_USE_CONSTEXPR bool has_infinity = __DBL_HAS_INFINITY__;\n static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = __DBL_HAS_QUIET_NAN__;\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = has_quiet_NaN;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\n+ _GLIBCXX23_DEPRECATED\n \t= bool(__DBL_HAS_DENORM__) ? denorm_present : denorm_absent;\n static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\n+ _GLIBCXX23_DEPRECATED\n = __glibcxx_double_has_denorm_loss;\n+#pragma GCC diagnostic pop\n \n static _GLIBCXX_CONSTEXPR double\n infinity() _GLIBCXX_USE_NOEXCEPT { return __builtin_huge_val(); }\n@@ -1805,8 +1901,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_CONSTEXPR double\n denorm_min() _GLIBCXX_USE_NOEXCEPT { return __DBL_DENORM_MIN__; }\n \n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR bool is_iec559\n \t= has_infinity && has_quiet_NaN && has_denorm == denorm_present;\n+#pragma GCC diagnostic pop\n static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;\n static _GLIBCXX_USE_CONSTEXPR bool is_modulo = false;\n \n@@ -1863,10 +1962,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_USE_CONSTEXPR bool has_infinity = __LDBL_HAS_INFINITY__;\n static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = __LDBL_HAS_QUIET_NAN__;\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = has_quiet_NaN;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\n+ _GLIBCXX23_DEPRECATED\n \t= bool(__LDBL_HAS_DENORM__) ? denorm_present : denorm_absent;\n static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\n+ _GLIBCXX23_DEPRECATED\n \t= __glibcxx_long_double_has_denorm_loss;\n+#pragma GCC diagnostic pop\n \n static _GLIBCXX_CONSTEXPR long double\n infinity() _GLIBCXX_USE_NOEXCEPT { return __builtin_huge_vall(); }\n@@ -1880,8 +1984,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n static _GLIBCXX_CONSTEXPR long double\n denorm_min() _GLIBCXX_USE_NOEXCEPT { return __LDBL_DENORM_MIN__; }\n \n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR bool is_iec559\n \t= has_infinity && has_quiet_NaN && has_denorm == denorm_present;\n+#pragma GCC diagnostic pop\n static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;\n static _GLIBCXX_USE_CONSTEXPR bool is_modulo = false;\n \n@@ -1956,10 +2063,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n \t= __glibcxx_concat3 (__FLT, BITSIZE, _HAS_QUIET_NAN__);\t\t\\\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN\t\t\\\n \t= has_quiet_NaN;\t\t\t\t\t\t\\\n+_Pragma(\"GCC diagnostic push\")\t\t\t\t\t\t\\\n+_Pragma(\"GCC diagnostic ignored \\\"-Wdeprecated-declarations\\\"\")\t\t\\\n static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\t\\\n+\t_GLIBCXX23_DEPRECATED\t\t\t\t\t\t\\\n \t= bool(__glibcxx_concat3 (__FLT, BITSIZE, _HAS_DENORM__))\t\\\n \t ? denorm_present : denorm_absent;\t\t\t\t\\\n- static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;\t\\\n+ static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\t\t\\\n+\t_GLIBCXX23_DEPRECATED = false;\t\t\t\t\t\\\n+_Pragma(\"GCC diagnostic pop\")\t\t\t\t\t\t\\\n \t\t\t\t\t\t\t\t\t\\\n static _GLIBCXX_CONSTEXPR _Float##BITSIZE\t\t\t\t\\\n infinity() _GLIBCXX_USE_NOEXCEPT\t\t\t\t\t\\\n@@ -1977,8 +2089,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n denorm_min() _GLIBCXX_USE_NOEXCEPT\t\t\t\t\\\n { return __glibcxx_concat3 (__FLT, BITSIZE, _DENORM_MIN__); }\t\\\n \t\t\t\t\t\t\t\t\t\\\n+_Pragma(\"GCC diagnostic push\")\t\t\t\t\t\\\n+_Pragma(\"GCC diagnostic ignored \\\"-Wdeprecated-declarations\\\"\")\t\\\n static _GLIBCXX_USE_CONSTEXPR bool is_iec559\t\t\t\\\n \t= has_infinity && has_quiet_NaN && has_denorm == denorm_present;\\\n+_Pragma(\"GCC diagnostic pop\")\t\t\t\t\t\\\n static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true; \t\t\\\n static _GLIBCXX_USE_CONSTEXPR bool is_modulo = false; \t\t\\\n \t\t\t\t\t\t\t\t\t\\\n@@ -2055,9 +2170,14 @@ __glibcxx_float_n(128)\n static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN\n \t= __BFLT16_HAS_QUIET_NAN__;\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = has_quiet_NaN;\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\n+ _GLIBCXX23_DEPRECATED\n \t= bool(__BFLT16_HAS_DENORM__) ? denorm_present : denorm_absent;\n- static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;\n+ static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\n+\t_GLIBCXX23_DEPRECATED = false;\n+#pragma GCC diagnostic pop\n \n static _GLIBCXX_CONSTEXPR __gnu_cxx::__bfloat16_t\n infinity() _GLIBCXX_USE_NOEXCEPT\n@@ -2075,8 +2195,11 @@ __glibcxx_float_n(128)\n denorm_min() _GLIBCXX_USE_NOEXCEPT\n { return __BFLT16_DENORM_MIN__; }\n \n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR bool is_iec559\n \t= has_infinity && has_quiet_NaN && has_denorm == denorm_present;\n+#pragma GCC diagnostic pop\n static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;\n static _GLIBCXX_USE_CONSTEXPR bool is_modulo = false;\n \n@@ -2155,9 +2278,13 @@ __glibcxx_float_n(128)\n #else\n static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;\n #endif\n+#pragma GCC diagnostic push\n+#pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm\n-\t= denorm_present;\n- static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;\n+ _GLIBCXX23_DEPRECATED = denorm_present;\n+ static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss\n+\t_GLIBCXX23_DEPRECATED = false;\n+#pragma GCC diagnostic pop\n \n static _GLIBCXX_CONSTEXPR __float128\n infinity() _GLIBCXX_USE_NOEXCEPT\ndiff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/char16_32_t.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/char16_32_t.cc\nindex 2c8712c861c..c36329b052d 100644\n--- a/libstdc++-v3/testsuite/18_support/numeric_limits/char16_32_t.cc\n+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/char16_32_t.cc\n@@ -1,5 +1,6 @@\n // { dg-do run { target c++11 } }\n // { dg-require-cstdint \"\" }\n+// { dg-additional-options \"-Wno-deprecated-declarations\" { target c++23 } }\n \n // 2008-05-20 Paolo Carlini <paolo.carlini@oracle.com>\n //\ndiff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/char8_t.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/char8_t.cc\nindex e23dbb7adbf..59a0bbbc160 100644\n--- a/libstdc++-v3/testsuite/18_support/numeric_limits/char8_t.cc\n+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/char8_t.cc\n@@ -1,6 +1,7 @@\n // { dg-do run { target c++11 } }\n // { dg-require-cstdint \"\" }\n // { dg-options \"-fchar8_t\" }\n+// { dg-additional-options \"-Wno-deprecated-declarations\" { target c++23 } }\n \n // Copyright (C) 2017-2026 Free Software Foundation, Inc.\n //\ndiff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/denorm_min.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/denorm_min.cc\nindex b508d082b8e..619fe632c23 100644\n--- a/libstdc++-v3/testsuite/18_support/numeric_limits/denorm_min.cc\n+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/denorm_min.cc\n@@ -1,4 +1,5 @@\n // { dg-add-options ieee }\n+// { dg-additional-options \"-Wno-deprecated-declarations\" { target c++23 } }\n \n // 1999-08-23 bkoz\n \ndiff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/deprecated-2b.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/deprecated-2b.cc\nnew file mode 100644\nindex 00000000000..5bc2fef977d\n--- /dev/null\n+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/deprecated-2b.cc\n@@ -0,0 +1,28 @@\n+// Copyright (C) 2026 Free Software Foundation, Inc.\n+//\n+// This file is part of the GNU ISO C++ Library. This library is free\n+// software; you can redistribute it and/or modify it under the\n+// terms of the GNU General Public License as published by the\n+// Free Software Foundation; either version 3, or (at your option)\n+// any later version.\n+//\n+// This library is distributed in the hope that it will be useful,\n+// but WITHOUT ANY WARRANTY; without even the implied warranty of\n+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n+// GNU General Public License for more details.\n+//\n+// You should have received a copy of the GNU General Public License along\n+// with this library; see the file COPYING3. If not see\n+// <http://www.gnu.org/licenses/>.\n+\n+// { dg-do compile { target c++23 } }\n+\n+#include <limits>\n+\n+std::float_denorm_style s; // { dg-warning \"is deprecated\" }\n+auto a = std::numeric_limits<float>::has_denorm; // { dg-warning \"is deprecated\" }\n+auto b = std::numeric_limits<float>::has_denorm_loss; // { dg-warning \"is deprecated\" }\n+auto c = std::numeric_limits<int>::has_denorm; // { dg-warning \"is deprecated\" }\n+auto d = std::numeric_limits<int>::has_denorm_loss; // { dg-warning \"is deprecated\" }\n+\n+// { dg-prune-output \"declared here\" }\ndiff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/dr559.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/dr559.cc\nindex 88c0ca505f2..5d67b0152d5 100644\n--- a/libstdc++-v3/testsuite/18_support/numeric_limits/dr559.cc\n+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/dr559.cc\n@@ -1,4 +1,5 @@\n // { dg-do run { target c++11 } }\n+// { dg-additional-options \"-Wno-deprecated-declarations\" { target c++23 } }\n \n // 2010-02-17 Paolo Carlini <paolo.carlini@oracle.com>\n //\ndiff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/requirements/constexpr_data.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/requirements/constexpr_data.cc\nindex 43985b5b734..7b2cc7b5b40 100644\n--- a/libstdc++-v3/testsuite/18_support/numeric_limits/requirements/constexpr_data.cc\n+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/requirements/constexpr_data.cc\n@@ -1,4 +1,5 @@\n // { dg-do compile { target c++11 } }\n+// { dg-additional-options \"-Wno-deprecated-declarations\" { target c++23 } }\n \n // Copyright (C) 2010-2026 Free Software Foundation, Inc.\n //\ndiff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/specialization_default_values.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/specialization_default_values.cc\nindex 1bff0ad7f4d..896a2e485d7 100644\n--- a/libstdc++-v3/testsuite/18_support/numeric_limits/specialization_default_values.cc\n+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/specialization_default_values.cc\n@@ -1,4 +1,5 @@\n // { dg-add-options ieee }\n+// { dg-additional-options \"-Wno-deprecated-declarations\" { target c++23 } }\n \n // 1999-08-23 bkoz\n \ndiff --git a/libstdc++-v3/testsuite/std/ranges/iota/max_size_type.cc b/libstdc++-v3/testsuite/std/ranges/iota/max_size_type.cc\nindex af53718a95b..64436942033 100644\n--- a/libstdc++-v3/testsuite/std/ranges/iota/max_size_type.cc\n+++ b/libstdc++-v3/testsuite/std/ranges/iota/max_size_type.cc\n@@ -17,6 +17,7 @@\n \n // { dg-do run { target c++20 } }\n // { dg-timeout-factor 4 }\n+// { dg-additional-options \"-Wno-deprecated-declarations\" { target c++23 } }\n \n #include <limits>\n #include <ranges>\n", "prefixes": [] }