get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/1.2/patches/2226102/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2226102,
    "url": "http://patchwork.ozlabs.org/api/1.2/patches/2226102/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/bmm.hhu8u7e3ks.gcc.gcc-TEST.redi.4.2.1@forge-stage.sourceware.org/",
    "project": {
        "id": 17,
        "url": "http://patchwork.ozlabs.org/api/1.2/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": "<bmm.hhu8u7e3ks.gcc.gcc-TEST.redi.4.2.1@forge-stage.sourceware.org>",
    "list_archive_url": null,
    "date": "2026-04-22T08:58:15",
    "name": "[v2,1/1] libstdc++: Deprecate useless <cxxx> compatibility headers for C++17",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "41376441292f351ef705f8748e4909e7f8eba2e4",
    "submitter": {
        "id": 93210,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/93210/?format=api",
        "name": "Jonathan Wakely via Sourceware Forge",
        "email": "forge-bot+redi@forge-stage.sourceware.org"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/bmm.hhu8u7e3ks.gcc.gcc-TEST.redi.4.2.1@forge-stage.sourceware.org/mbox/",
    "series": [
        {
            "id": 500950,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/500950/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=500950",
            "date": "2026-04-22T08:58:14",
            "name": "libstdc++: Deprecate useless <cxxx> compatibility headers for C++17",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/500950/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2226102/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2226102/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 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 4g0tVv486vz1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 19:01:10 +1000 (AEST)",
            "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id B9A924BAD158\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 09:01:08 +0000 (GMT)",
            "from forge-stage.sourceware.org (vm08.sourceware.org [38.145.34.39])\n by sourceware.org (Postfix) with ESMTPS id 5E0FF4B9DB61\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 08:59:19 +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 33B2D4052F\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 08:59:19 +0000 (UTC)"
        ],
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 sourceware.org B9A924BAD158",
            "OpenDKIM Filter v2.11.0 sourceware.org 5E0FF4B9DB61"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 5E0FF4B9DB61",
        "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 5E0FF4B9DB61",
        "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776848359; cv=none;\n b=quLSEefkvmn/RNSLvEhuadsntAnfAw75OC9qbasiZhpSwCuvH8ICQUvFQQ5OGzXhQMbNqGC4JNc32h+UWKFupoYt2niKAPgZ1EXKA4lRvHg4kgq7dr7vgsq38ktkvL3A1hdRchZwsxO82VCUF4mgKIy5v3Iq3Qdw5/R2ms+WE1w=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776848359; c=relaxed/simple;\n bh=o71XWluqC+J/CKZyPSpgJA5HmcGrktZ3SyQoOhP9jr4=;\n h=From:Date:Subject:To:Message-ID;\n b=vsZfmEPrqVQh3OlPWCsVgBM579rf/5nCTqhtvRjIuTtZrLMkeHxdRJitxmQGBcMTpgYsZ57Vz03zUfFVD4U3fLjBPRkM8WHKrwQeZuLFKIRiNGbXossaJ5JBq6cbp6aohj9mjGR1yi4cgj8UiHF/m5/UCHthCJMNzDf1G8ODad0=",
        "ARC-Authentication-Results": "i=1; server2.sourceware.org",
        "From": "Jonathan Wakely via Sourceware Forge\n <forge-bot+redi@forge-stage.sourceware.org>",
        "Date": "Wed, 22 Apr 2026 08:58:15 +0000",
        "Subject": "[PATCH v2 1/1] libstdc++: Deprecate useless <cxxx> compatibility\n headers for C++17",
        "To": "gcc-patches mailing list <gcc-patches@gcc.gnu.org>",
        "Message-ID": "\n <bmm.hhu8u7e3ks.gcc.gcc-TEST.redi.4.2.1@forge-stage.sourceware.org>",
        "X-Mailer": "batrachomyomachia",
        "X-Pull-Request-Organization": "gcc",
        "X-Pull-Request-Repository": "gcc-TEST",
        "X-Pull-Request": "https://forge.sourceware.org/gcc/gcc-TEST/pulls/4",
        "References": "\n <bmm.hhu8u7e3ks.gcc.gcc-TEST.redi.4.2.0@forge-stage.sourceware.org>",
        "In-Reply-To": "\n <bmm.hhu8u7e3ks.gcc.gcc-TEST.redi.4.2.0@forge-stage.sourceware.org>",
        "X-Patch-URL": "\n https://forge.sourceware.org/redi/gcc/commit/0740f7d2e5e1ba2ec93969675a6b9baa31e48c47",
        "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>",
        "Reply-To": "gcc-patches mailing list <gcc-patches@gcc.gnu.org>, redi@gcc.gnu.org",
        "Errors-To": "gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org"
    },
    "content": "From: Jonathan Wakely <jwakely@redhat.com>\n\nThese headers make no sense for C++ programs, because they either define\ndifferent content to the corresponding <xxx.h> C header, or define\nnothing at all in namespace std. They were all deprecated in C++17, so\nadd deprecation warnings to them, which can be disabled with\n-Wno-deprecated. For C++20 and later these headers are no longer in the\nstandard at all, so compiling with _GLIBCXX_USE_DEPRECATED defined to 0\nwill give an error when they are included.\n\nBecause #warning is non-standard before C++23 we need to use pragmas to\nignore -Wc++23-extensions for the -Wsystem-headers -pedantic case.\n\nOne g++ test needs adjustment because it includes <ciso646>, but that\ncan be made conditional on the __cplusplus value without any reduction\nin test coverage.\n\nFor the library tests, consolidate the std_c++0x_neg.cc XFAIL tests into\nthe macros.cc test, using dg-error with a { target c++98_only }\nselector. This avoids having two separate test files, one for C++98 and\none for everything later. Also add tests for the <xxx.h> headers to\nensure that they behave as expected and don't give deprecated warnings.\n\nlibstdc++-v3/ChangeLog:\n\n\t* doc/xml/manual/evolution.xml: Document deprecations.\n\t* doc/html/*: Regenerate.\n\t* include/c_compatibility/complex.h (_GLIBCXX_COMPLEX_H): Move\n\tinclude guard to start of file. Include <complex> directly\n\tinstead of <ccomplex>.\n\t* include/c_compatibility/tgmath.h: Include <cmath> and\n\t<complex> directly, instead of <ctgmath>.\n\t* include/c_global/ccomplex: Add deprecated #warning for C++17\n\tand #error for C++20 if _GLIBCXX_USE_DEPRECATED == 0.\n\t* include/c_global/ciso646: Likewise.\n\t* include/c_global/cstdalign: Likewise.\n\t* include/c_global/cstdbool: Likewise.\n\t* include/c_global/ctgmath: Likewise.\n\t* include/c_std/ciso646: Likewise.\n\t* include/precompiled/stdc++.h: Do not include ccomplex,\n\tciso646, cstdalign, cstdbool, or ctgmath in C++17 and later.\n\t* testsuite/18_support/headers/cstdalign/macros.cc: Check for\n\twarnings and errors for unsupported dialects.\n\t* testsuite/18_support/headers/cstdbool/macros.cc: Likewise.\n\t* testsuite/26_numerics/headers/ctgmath/complex.cc: Likewise.\n\t* testsuite/27_io/objects/char/1.cc: Do not include <ciso646>.\n\t* testsuite/27_io/objects/wchar_t/1.cc: Likewise.\n\t* testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc: Removed.\n\t* testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc: Removed.\n\t* testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc: Removed.\n\t* testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc: Removed.\n\t* testsuite/18_support/headers/ciso646/macros.cc: New test.\n\t* testsuite/18_support/headers/ciso646/macros.h.cc: New test.\n\t* testsuite/18_support/headers/cstdbool/macros.h.cc: New test.\n\t* testsuite/26_numerics/headers/ccomplex/complex.cc: New test.\n\t* testsuite/26_numerics/headers/ccomplex/complex.h.cc: New test.\n\t* testsuite/26_numerics/headers/ctgmath/complex.h.cc: New test.\n\ngcc/testsuite/ChangeLog:\n\n\t* g++.old-deja/g++.other/headers1.C: Do not include ciso646 for\n\tC++17 and later.\n---\n .../g++.old-deja/g++.other/headers1.C         |  2 +\n libstdc++-v3/doc/html/manual/api.html         |  8 +++\n libstdc++-v3/doc/xml/manual/evolution.xml     | 10 ++++\n .../include/c_compatibility/complex.h         | 10 ++--\n libstdc++-v3/include/c_compatibility/tgmath.h | 11 ++--\n libstdc++-v3/include/c_global/ccomplex        |  9 ++++\n libstdc++-v3/include/c_global/ciso646         |  9 ++++\n libstdc++-v3/include/c_global/cstdalign       |  8 +++\n libstdc++-v3/include/c_global/cstdbool        |  8 +++\n libstdc++-v3/include/c_global/ctgmath         | 14 +++--\n libstdc++-v3/include/c_std/ciso646            | 10 ++++\n libstdc++-v3/include/precompiled/stdc++.h     | 13 +++--\n .../18_support/headers/ciso646/macros.cc      | 51 +++++++++++++++++++\n .../18_support/headers/ciso646/macros.h.cc    | 49 ++++++++++++++++++\n .../18_support/headers/cstdalign/macros.cc    | 10 +++-\n .../18_support/headers/cstdalign/macros.h.cc  | 25 +++++++++\n .../headers/cstdalign/std_c++0x_neg.cc        | 24 ---------\n .../18_support/headers/cstdbool/macros.cc     |  9 +++-\n .../18_support/headers/cstdbool/macros.h.cc   | 21 ++++++++\n .../headers/cstdbool/std_c++0x_neg.cc         | 26 ----------\n .../26_numerics/headers/ccomplex/complex.cc   | 10 ++++\n .../26_numerics/headers/ccomplex/complex.h.cc | 10 ++++\n .../headers/ccomplex/std_c++0x_neg.cc         | 26 ----------\n .../26_numerics/headers/ctgmath/complex.cc    |  9 +++-\n .../26_numerics/headers/ctgmath/complex.h.cc  | 10 ++++\n .../headers/ctgmath/std_c++0x_neg.cc          | 26 ----------\n .../testsuite/27_io/objects/char/1.cc         |  1 -\n .../testsuite/27_io/objects/wchar_t/1.cc      |  1 -\n 28 files changed, 294 insertions(+), 126 deletions(-)\n create mode 100644 libstdc++-v3/testsuite/18_support/headers/ciso646/macros.cc\n create mode 100644 libstdc++-v3/testsuite/18_support/headers/ciso646/macros.h.cc\n create mode 100644 libstdc++-v3/testsuite/18_support/headers/cstdalign/macros.h.cc\n delete mode 100644 libstdc++-v3/testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc\n create mode 100644 libstdc++-v3/testsuite/18_support/headers/cstdbool/macros.h.cc\n delete mode 100644 libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc\n create mode 100644 libstdc++-v3/testsuite/26_numerics/headers/ccomplex/complex.cc\n create mode 100644 libstdc++-v3/testsuite/26_numerics/headers/ccomplex/complex.h.cc\n delete mode 100644 libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc\n create mode 100644 libstdc++-v3/testsuite/26_numerics/headers/ctgmath/complex.h.cc\n delete mode 100644 libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc",
    "diff": "diff --git a/gcc/testsuite/g++.old-deja/g++.other/headers1.C b/gcc/testsuite/g++.old-deja/g++.other/headers1.C\nindex 5d37e94082f7..90a1a7dc8f96 100644\n--- a/gcc/testsuite/g++.old-deja/g++.other/headers1.C\n+++ b/gcc/testsuite/g++.old-deja/g++.other/headers1.C\n@@ -12,7 +12,9 @@\n #include <cctype>\n #include <cerrno>\n #include <cfloat>\n+#if __cplusplus < 201703L\n #include <ciso646>\n+#endif\n #include <climits>\n #include <clocale>\n #include <cmath>\ndiff --git a/libstdc++-v3/doc/html/manual/api.html b/libstdc++-v3/doc/html/manual/api.html\nindex 799f6eae2a23..2ccfc07b83e5 100644\n--- a/libstdc++-v3/doc/html/manual/api.html\n+++ b/libstdc++-v3/doc/html/manual/api.html\n@@ -498,4 +498,12 @@ to be used with <code class=\"code\">std::basic_istream</code>.\n   longer allowed in C++20 mode.\n </p></div><div class=\"section\"><div class=\"titlepage\"><div><div><h3 class=\"title\"><a id=\"api.rel_151\"></a><code class=\"constant\">15</code></h3></div></div></div><p>\n Enabled debug assertions by default for unoptimized builds.\n+</p><p>\n+Added warnings when including the headers that were deprecated in C++17\n+and removed in C++20:\n+<code class=\"filename\">&lt;ccomplex&gt;</code>,\n+<code class=\"filename\">&lt;ciso646&gt;</code>,\n+<code class=\"filename\">&lt;cstdalign&gt;</code>,\n+<code class=\"filename\">&lt;cstdbool&gt;</code>, and\n+<code class=\"filename\">&lt;ctgmath&gt;</code>.\n </p></div></div><div class=\"navfooter\"><hr /><table width=\"100%\" summary=\"Navigation footer\"><tr><td width=\"40%\" align=\"left\"><a accesskey=\"p\" href=\"abi.html\">Prev</a> </td><td width=\"20%\" align=\"center\"><a accesskey=\"u\" href=\"appendix_porting.html\">Up</a></td><td width=\"40%\" align=\"right\"> <a accesskey=\"n\" href=\"backwards.html\">Next</a></td></tr><tr><td width=\"40%\" align=\"left\" valign=\"top\">ABI Policy and Guidelines </td><td width=\"20%\" align=\"center\"><a accesskey=\"h\" href=\"../index.html\">Home</a></td><td width=\"40%\" align=\"right\" valign=\"top\"> Backwards Compatibility</td></tr></table></div></body></html>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/xml/manual/evolution.xml b/libstdc++-v3/doc/xml/manual/evolution.xml\nindex 75cf948a4a2d..6b134de0e71f 100644\n--- a/libstdc++-v3/doc/xml/manual/evolution.xml\n+++ b/libstdc++-v3/doc/xml/manual/evolution.xml\n@@ -1135,6 +1135,16 @@ to be used with <code>std::basic_istream</code>.\n Enabled debug assertions by default for unoptimized builds.\n </para>\n \n+<para>\n+Added warnings when including the headers that were deprecated in C++17\n+and removed in C++20:\n+<filename class=\"headerfile\">&lt;ccomplex&gt;</filename>,\n+<filename class=\"headerfile\">&lt;ciso646&gt;</filename>,\n+<filename class=\"headerfile\">&lt;cstdalign&gt;</filename>,\n+<filename class=\"headerfile\">&lt;cstdbool&gt;</filename>, and\n+<filename class=\"headerfile\">&lt;ctgmath&gt;</filename>.\n+</para>\n+\n </section>\n \n </section>\ndiff --git a/libstdc++-v3/include/c_compatibility/complex.h b/libstdc++-v3/include/c_compatibility/complex.h\nindex 605d1f30e06e..461ff2117b10 100644\n--- a/libstdc++-v3/include/c_compatibility/complex.h\n+++ b/libstdc++-v3/include/c_compatibility/complex.h\n@@ -26,10 +26,15 @@\n  *  This is a Standard C++ Library header.\n  */\n \n+#ifndef _GLIBCXX_COMPLEX_H\n+#define _GLIBCXX_COMPLEX_H 1\n+\n #include <bits/c++config.h>\n \n #if __cplusplus >= 201103L\n-# include <ccomplex>\n+extern \"C++\" {\n+#include <complex>\n+}\n #endif\n \n #if __cplusplus >= 201103L && defined(__STRICT_ANSI__)\n@@ -42,7 +47,4 @@\n # endif\n #endif\n \n-#ifndef _GLIBCXX_COMPLEX_H\n-#define _GLIBCXX_COMPLEX_H 1\n-\n #endif\ndiff --git a/libstdc++-v3/include/c_compatibility/tgmath.h b/libstdc++-v3/include/c_compatibility/tgmath.h\nindex aadddd91b606..6bf6727a15c4 100644\n--- a/libstdc++-v3/include/c_compatibility/tgmath.h\n+++ b/libstdc++-v3/include/c_compatibility/tgmath.h\n@@ -32,11 +32,12 @@\n #include <bits/c++config.h>\n \n #if __cplusplus >= 201103L\n-# include <ctgmath>\n-#else\n-# if _GLIBCXX_HAVE_TGMATH_H\n-#  include_next <tgmath.h>\n-# endif\n+# include <cmath>\n+extern \"C++\" {\n+# include <complex>\n+}\n+#elif _GLIBCXX_HAVE_TGMATH_H\n+# include_next <tgmath.h>\n #endif\n \n #endif\ndiff --git a/libstdc++-v3/include/c_global/ccomplex b/libstdc++-v3/include/c_global/ccomplex\nindex ee1166aaecbe..b0e30fa67eb0 100644\n--- a/libstdc++-v3/include/c_global/ccomplex\n+++ b/libstdc++-v3/include/c_global/ccomplex\n@@ -41,4 +41,13 @@ extern \"C++\" {\n #include <complex>\n }\n \n+#if __cplusplus >= 202002L && ! _GLIBCXX_USE_DEPRECATED\n+#  error \"<ccomplex> is not a standard header in C++20, use <complex.h>\"\n+#elif __cplusplus >= 201703L && defined __DEPRECATED\n+#  pragma GCC diagnostic push\n+#  pragma GCC diagnostic ignored \"-Wc++23-extensions\"\n+#  warning \"<ccomplex> is deprecated in C++17, use <complex.h>\"\n+#  pragma GCC diagnostic pop\n+#endif\n+\n #endif\ndiff --git a/libstdc++-v3/include/c_global/ciso646 b/libstdc++-v3/include/c_global/ciso646\nindex 6e26f9be12eb..ed1fcf6f14e0 100644\n--- a/libstdc++-v3/include/c_global/ciso646\n+++ b/libstdc++-v3/include/c_global/ciso646\n@@ -38,4 +38,13 @@\n \n #include <bits/c++config.h>\n \n+#if __cplusplus >= 202002L && ! _GLIBCXX_USE_DEPRECATED\n+#  error \"<ciso646> is not a standard header in C++20, use <iso646.h> or <version>\"\n+#elif __cplusplus >= 201703L && defined __DEPRECATED\n+#  pragma GCC diagnostic push\n+#  pragma GCC diagnostic ignored \"-Wc++23-extensions\"\n+#  warning \"<ciso646> is deprecated in C++17, use <iso646.h> or <version>\"\n+#  pragma GCC diagnostic pop\n+#endif\n+\n #endif\ndiff --git a/libstdc++-v3/include/c_global/cstdalign b/libstdc++-v3/include/c_global/cstdalign\nindex 4f6105884258..f7bbbad82a06 100644\n--- a/libstdc++-v3/include/c_global/cstdalign\n+++ b/libstdc++-v3/include/c_global/cstdalign\n@@ -40,6 +40,14 @@\n #  if _GLIBCXX_HAVE_STDALIGN_H\n #    include <stdalign.h>\n #  endif\n+#  if __cplusplus >= 202002L && ! _GLIBCXX_USE_DEPRECATED\n+#    error \"<cstdalign> is not a standard header in C++20, use <stdalign.h>\"\n+#  elif __cplusplus >= 201703L && defined __DEPRECATED\n+#    pragma GCC diagnostic push\n+#    pragma GCC diagnostic ignored \"-Wc++23-extensions\"\n+#    warning \"<cstdalign> is deprecated in C++17, use <stdalign.h>\"\n+#    pragma GCC diagnostic pop\n+#  endif\n #endif\n \n #endif\ndiff --git a/libstdc++-v3/include/c_global/cstdbool b/libstdc++-v3/include/c_global/cstdbool\nindex 8d2e75df33f0..27be50ff5109 100644\n--- a/libstdc++-v3/include/c_global/cstdbool\n+++ b/libstdc++-v3/include/c_global/cstdbool\n@@ -40,6 +40,14 @@\n #  if _GLIBCXX_HAVE_STDBOOL_H\n #    include <stdbool.h>\n #  endif\n+#  if __cplusplus >= 202002L && ! _GLIBCXX_USE_DEPRECATED\n+#    error \"<cstdbool> is not a standard header in C++20, use <stdbool.h>\"\n+#  elif __cplusplus >= 201703L && defined __DEPRECATED\n+#    pragma GCC diagnostic push\n+#    pragma GCC diagnostic ignored \"-Wc++23-extensions\"\n+#    warning \"<cstdbool> is deprecated in C++17, use <stdbool.h>\"\n+#    pragma GCC diagnostic pop\n+#  endif\n #endif\n \n #endif\ndiff --git a/libstdc++-v3/include/c_global/ctgmath b/libstdc++-v3/include/c_global/ctgmath\nindex 79c1a029f41d..5824a20c7c0c 100644\n--- a/libstdc++-v3/include/c_global/ctgmath\n+++ b/libstdc++-v3/include/c_global/ctgmath\n@@ -26,13 +26,13 @@\n  *  This is a Standard C++ Library header.\n  */\n \n+#ifndef _GLIBCXX_CTGMATH\n+#define _GLIBCXX_CTGMATH 1\n+\n #ifdef _GLIBCXX_SYSHDR\n #pragma GCC system_header\n #endif\n \n-#ifndef _GLIBCXX_CTGMATH\n-#define _GLIBCXX_CTGMATH 1\n-\n #if __cplusplus < 201103L\n #  include <bits/c++0x_warning.h>\n #else\n@@ -40,6 +40,14 @@\n extern \"C++\" {\n #  include <complex>\n }\n+#  if __cplusplus >= 202002L && ! _GLIBCXX_USE_DEPRECATED\n+#    error \"<ctgmath> is not a standard header in C++20, use <tgmath.h>\"\n+#  elif __cplusplus >= 201703L && defined __DEPRECATED\n+#    pragma GCC diagnostic push\n+#    pragma GCC diagnostic ignored \"-Wc++23-extensions\"\n+#    warning \"<ctgmath> is deprecated in C++17, use <tgmath.h>\"\n+#    pragma GCC diagnostic pop\n+#  endif\n #endif\n \n #endif\ndiff --git a/libstdc++-v3/include/c_std/ciso646 b/libstdc++-v3/include/c_std/ciso646\nindex 7971f0d0c313..ac9801aef2bc 100644\n--- a/libstdc++-v3/include/c_std/ciso646\n+++ b/libstdc++-v3/include/c_std/ciso646\n@@ -37,4 +37,14 @@\n #endif\n \n #include <bits/c++config.h>\n+\n+#if __cplusplus >= 202002L && ! _GLIBCXX_USE_DEPRECATED\n+#  error \"<ciso646> is not a standard header in C++20, use <iso646.h> or <version>\"\n+#elif __cplusplus >= 201703L && defined __DEPRECATED\n+#  pragma GCC diagnostic push\n+#  pragma GCC diagnostic ignored \"-Wc++23-extensions\"\n+#  warning \"<ciso646> is deprecated in C++17, use <iso646.h> or <version>\"\n+#  pragma GCC diagnostic pop\n+#endif\n+\n #endif\ndiff --git a/libstdc++-v3/include/precompiled/stdc++.h b/libstdc++-v3/include/precompiled/stdc++.h\nindex 3eef20d16458..89917106bac2 100644\n--- a/libstdc++-v3/include/precompiled/stdc++.h\n+++ b/libstdc++-v3/include/precompiled/stdc++.h\n@@ -34,7 +34,6 @@\n #endif\n #include <cctype>\n #include <cfloat>\n-#include <ciso646>\n #include <climits>\n #include <csetjmp>\n #include <cstdarg>\n@@ -43,6 +42,9 @@\n \n #if __cplusplus >= 201103L\n #include <cstdint>\n+#if __cplusplus < 201703L\n+#include <ciso646>\n+#endif\n #endif\n \n // C++\n@@ -108,7 +110,6 @@\n #include <cctype>\n #include <cerrno>\n #include <cfloat>\n-#include <ciso646>\n #include <climits>\n #include <clocale>\n #include <cmath>\n@@ -124,14 +125,16 @@\n #include <cwctype>\n \n #if __cplusplus >= 201103L\n-#include <ccomplex>\n #include <cfenv>\n #include <cinttypes>\n+#include <cstdint>\n+#include <cuchar>\n+#if __cplusplus < 201703L\n+#include <ccomplex>\n #include <cstdalign>\n #include <cstdbool>\n-#include <cstdint>\n #include <ctgmath>\n-#include <cuchar>\n+#endif\n #endif\n \n // C++\ndiff --git a/libstdc++-v3/testsuite/18_support/headers/ciso646/macros.cc b/libstdc++-v3/testsuite/18_support/headers/ciso646/macros.cc\nnew file mode 100644\nindex 000000000000..ab3a041de062\n--- /dev/null\n+++ b/libstdc++-v3/testsuite/18_support/headers/ciso646/macros.cc\n@@ -0,0 +1,51 @@\n+// { dg-options \"-D_GLIBCXX_USE_DEPRECATED=0 -Wdeprecated -fno-operator-names\" }\n+// { dg-do preprocess }\n+\n+#include <ciso646>\n+\n+// { dg-warning \"deprecated\" \"\" { target c++17_only } 0 }\n+// { dg-error \"not a standard header\" \"\" { target c++20 } 0 }\n+\n+#ifdef and\n+# error \"The header <ciso646> defines a macro named and\"\n+#endif\n+\n+#ifdef and_eq\n+# error \"The header <ciso646> defines a macro named and_eq\"\n+#endif\n+\n+#ifdef bitand\n+# error \"The header <ciso646> defines a macro named bitand\"\n+#endif\n+\n+#ifdef bitor\n+# error \"The header <ciso646> defines a macro named bitor\"\n+#endif\n+\n+#ifdef compl\n+# error \"The header <ciso646> defines a macro named compl\"\n+#endif\n+\n+#ifdef not\n+# error \"The header <ciso646> defines a macro named not\"\n+#endif\n+\n+#ifdef not_eq\n+# error \"The header <ciso646> defines a macro named not_eq\"\n+#endif\n+\n+#ifdef or\n+# error \"The header <ciso646> defines a macro named or\"\n+#endif\n+\n+#ifdef or_eq\n+# error \"The header <ciso646> defines a macro named or_eq\"\n+#endif\n+\n+#ifdef xor\n+# error \"The header <ciso646> defines a macro named xor\"\n+#endif\n+\n+#ifdef xor_eq\n+# error \"The header <ciso646> defines a macro named xor_eq\"\n+#endif\ndiff --git a/libstdc++-v3/testsuite/18_support/headers/ciso646/macros.h.cc b/libstdc++-v3/testsuite/18_support/headers/ciso646/macros.h.cc\nnew file mode 100644\nindex 000000000000..a70c18de918e\n--- /dev/null\n+++ b/libstdc++-v3/testsuite/18_support/headers/ciso646/macros.h.cc\n@@ -0,0 +1,49 @@\n+// { dg-options \"-D_GLIBCXX_USE_DEPRECATED=0 -Wdeprecated -fno-operator-names\" }\n+// { dg-do preprocess }\n+// { dg-bogus \"deprecated\" \"C++17 deprecated <ciso646> but not <iso646.h>\" }\n+\n+#include <iso646.h>\n+\n+#ifdef and\n+# error \"The header <iso646.h> defines a macro named and\"\n+#endif\n+\n+#ifdef and_eq\n+# error \"The header <iso646.h> defines a macro named and_eq\"\n+#endif\n+\n+#ifdef bitand\n+# error \"The header <iso646.h> defines a macro named bitand\"\n+#endif\n+\n+#ifdef bitor\n+# error \"The header <iso646.h> defines a macro named bitor\"\n+#endif\n+\n+#ifdef compl\n+# error \"The header <iso646.h> defines a macro named compl\"\n+#endif\n+\n+#ifdef not\n+# error \"The header <iso646.h> defines a macro named not\"\n+#endif\n+\n+#ifdef not_eq\n+# error \"The header <iso646.h> defines a macro named not_eq\"\n+#endif\n+\n+#ifdef or\n+# error \"The header <iso646.h> defines a macro named or\"\n+#endif\n+\n+#ifdef or_eq\n+# error \"The header <iso646.h> defines a macro named or_eq\"\n+#endif\n+\n+#ifdef xor\n+# error \"The header <iso646.h> defines a macro named xor\"\n+#endif\n+\n+#ifdef xor_eq\n+# error \"The header <iso646.h> defines a macro named xor_eq\"\n+#endif\ndiff --git a/libstdc++-v3/testsuite/18_support/headers/cstdalign/macros.cc b/libstdc++-v3/testsuite/18_support/headers/cstdalign/macros.cc\nindex c50c921cd59a..793cd26dfa83 100644\n--- a/libstdc++-v3/testsuite/18_support/headers/cstdalign/macros.cc\n+++ b/libstdc++-v3/testsuite/18_support/headers/cstdalign/macros.cc\n@@ -1,8 +1,13 @@\n-// { dg-options \"-D_GLIBCXX_USE_DEPRECATED=1 -Wno-deprecated\" }\n-// { dg-do preprocess { target c++11 } }\n+// { dg-options \"-D_GLIBCXX_USE_DEPRECATED=0 -Wdeprecated\" }\n+// { dg-do preprocess }\n \n #include <cstdalign>\n \n+// { dg-error \"ISO C.. 2011\" \"\" { target c++98_only } 0 }\n+// { dg-warning \"deprecated\" \"\" { target c++17_only } 0 }\n+// { dg-error \"not a standard header\" \"\" { target c++20 } 0 }\n+\n+#if __cplusplus >= 201103L\n #ifndef __alignas_is_defined\n # error \"The header <cstdalign> fails to define a macro named  __alignas_is_defined\"\n #elif __alignas_is_defined != 1\n@@ -22,3 +27,4 @@\n #ifdef alignof\n # error \"The header <cstdalign> defines a macro named alignof\"\n #endif\n+#endif\ndiff --git a/libstdc++-v3/testsuite/18_support/headers/cstdalign/macros.h.cc b/libstdc++-v3/testsuite/18_support/headers/cstdalign/macros.h.cc\nnew file mode 100644\nindex 000000000000..78f41ae02e85\n--- /dev/null\n+++ b/libstdc++-v3/testsuite/18_support/headers/cstdalign/macros.h.cc\n@@ -0,0 +1,25 @@\n+// { dg-options \"-D_GLIBCXX_USE_DEPRECATED=0 -Wdeprecated\" }\n+// { dg-do preprocess { target c++11 } }\n+// { dg-bogus \"deprecated\" \"C++17 deprecated <cstdalign> but not <stdalign.h>\" }\n+\n+#include <stdalign.h>\n+\n+#ifndef __alignas_is_defined\n+# error \"The header <stdalign.h> fails to define a macro named  __alignas_is_defined\"\n+#elif __alignas_is_defined != 1\n+# error \"__alignas_is_defined is not defined to 1 in <stdalign.h>\"\n+#endif\n+\n+#ifndef __alignof_is_defined\n+# error \"The header <stdalign.h> fails to define a macro named __alignof_is_defined\"\n+#elif __alignof_is_defined != 1\n+# error \"__alignof_is_defined is not defined to 1 in <stdalign.h>\"\n+#endif\n+\n+#ifdef alignas\n+# error \"The header <stdalign.h> defines a macro named alignas\"\n+#endif\n+\n+#ifdef alignof\n+# error \"The header <stdalign.h> defines a macro named alignof\"\n+#endif\ndiff --git a/libstdc++-v3/testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc b/libstdc++-v3/testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc\ndeleted file mode 100644\nindex 14694f034e6c..000000000000\n--- a/libstdc++-v3/testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc\n+++ /dev/null\n@@ -1,24 +0,0 @@\n-// { dg-options \"-std=gnu++98\" }\n-// { dg-do compile { target c++98_only } }\n-\n-// Copyright (C) 2011-2024 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-#include <cstdalign>\n-\n-// { dg-error \"ISO C.. 2011\" \"\" { target *-*-* } 32 }\n-\ndiff --git a/libstdc++-v3/testsuite/18_support/headers/cstdbool/macros.cc b/libstdc++-v3/testsuite/18_support/headers/cstdbool/macros.cc\nindex e0afc26e458d..658a02a4565b 100644\n--- a/libstdc++-v3/testsuite/18_support/headers/cstdbool/macros.cc\n+++ b/libstdc++-v3/testsuite/18_support/headers/cstdbool/macros.cc\n@@ -1,4 +1,5 @@\n-// { dg-do compile { target c++11 } }\n+// { dg-options \"-D_GLIBCXX_USE_DEPRECATED=0 -Wdeprecated\" }\n+// { dg-do preprocess }\n \n // Copyright (C) 2012-2024 Free Software Foundation, Inc.\n //\n@@ -19,6 +20,11 @@\n \n #include <cstdbool>\n \n+// { dg-error \"ISO C.. 2011\" \"\" { target c++98_only } 0 }\n+// { dg-warning \"deprecated\" \"\" { target c++17_only } 0 }\n+// { dg-error \"not a standard header\" \"\" { target c++20 } 0 }\n+\n+#if __cplusplus >= 201103L\n #ifndef __bool_true_false_are_defined\n # error \"The header <cstdbool> fails to define a macro named __bool_true_false_are_defined\"\n #endif\n@@ -34,3 +40,4 @@\n #ifdef false\n # error \"The header <cstdbool> defines a macro named false\"\n #endif\n+#endif\ndiff --git a/libstdc++-v3/testsuite/18_support/headers/cstdbool/macros.h.cc b/libstdc++-v3/testsuite/18_support/headers/cstdbool/macros.h.cc\nnew file mode 100644\nindex 000000000000..a3c0f9a0aec0\n--- /dev/null\n+++ b/libstdc++-v3/testsuite/18_support/headers/cstdbool/macros.h.cc\n@@ -0,0 +1,21 @@\n+// { dg-options \"-D_GLIBCXX_USE_DEPRECATED=0 -Wdeprecated\" }\n+// { dg-do preprocess { target c++11 } }\n+// { dg-bogus \"deprecated\" \"C++17 deprecated <cstdbool> but not <stdbool.h>\" }\n+\n+#include <stdbool.h>\n+\n+#ifndef __bool_true_false_are_defined\n+# error \"The header <stdbool.h> fails to define a macro named __bool_true_false_are_defined\"\n+#endif\n+\n+#ifdef bool\n+# error \"The header <stdbool.h> defines a macro named bool\"\n+#endif\n+\n+#ifdef true\n+# error \"The header <stdbool.h> defines a macro named true\"\n+#endif\n+\n+#ifdef false\n+# error \"The header <stdbool.h> defines a macro named false\"\n+#endif\ndiff --git a/libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc b/libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc\ndeleted file mode 100644\nindex 5b8c56888775..000000000000\n--- a/libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc\n+++ /dev/null\n@@ -1,26 +0,0 @@\n-// { dg-options \"-std=gnu++98\" }\n-// { dg-do compile { target c++98_only } }\n-\n-// Copyright (C) 2007-2024 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-#include <cstdbool>\n-\n-// { dg-error \"ISO C.. 2011\" \"\" { target *-*-* } 32 }\n-\n-\n-\ndiff --git a/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/complex.cc b/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/complex.cc\nnew file mode 100644\nindex 000000000000..d6c33781ae5d\n--- /dev/null\n+++ b/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/complex.cc\n@@ -0,0 +1,10 @@\n+// { dg-options \"-D_GLIBCXX_USE_DEPRECATED=0 -Wdeprecated\" }\n+// { dg-do compile }\n+\n+#include <ccomplex>\n+\n+std::complex<double> d;\n+\n+// { dg-error \"ISO C.. 2011\" \"\" { target c++98_only } 0 }\n+// { dg-warning \"deprecated\" \"\" { target c++17_only } 0 }\n+// { dg-error \"not a standard header\" \"\" { target c++20 } 0 }\ndiff --git a/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/complex.h.cc b/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/complex.h.cc\nnew file mode 100644\nindex 000000000000..318b78ee89ee\n--- /dev/null\n+++ b/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/complex.h.cc\n@@ -0,0 +1,10 @@\n+// { dg-options \"-D_GLIBCXX_USE_DEPRECATED=0 -Wdeprecated\" }\n+// { dg-do compile }\n+// { dg-bogus \"deprecated\" \"C++17 deprecated <ccomplex> but not <complex.h>\" }\n+\n+#include <complex.h>\n+\n+#if __cplusplus < 201103L\n+# undef complex\n+#endif\n+std::complex<double> d; // { dg-error \"does not name a template\" \"\" { target c++98_only } 0 }\ndiff --git a/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc\ndeleted file mode 100644\nindex 16c623b25b08..000000000000\n--- a/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc\n+++ /dev/null\n@@ -1,26 +0,0 @@\n-// { dg-options \"-std=gnu++98\" }\n-// { dg-do compile { target c++98_only } }\n-\n-// Copyright (C) 2007-2024 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-#include <ccomplex>\n-\n-// { dg-error \"ISO C.. 2011\" \"\" { target *-*-* } 32 }\n-\n-\n-\ndiff --git a/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/complex.cc b/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/complex.cc\nindex a2c4a55c89b6..ef2bbd0e20a2 100644\n--- a/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/complex.cc\n+++ b/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/complex.cc\n@@ -15,8 +15,13 @@\n // with this library; see the file COPYING3.  If not see\n // <http://www.gnu.org/licenses/>.\n \n-// { dg-do compile { target c++11 } }\n+// { dg-options \"-D_GLIBCXX_USE_DEPRECATED=0 -Wdeprecated\" }\n+// { dg-do compile }\n \n #include <ctgmath>\n \n-std::complex<double> d;\n+std::complex<double> d; // { dg-error \"does not name a template\" \"\" { target c++98_only } 0 }\n+\n+// { dg-error \"ISO C.. 2011\" \"\" { target c++98_only } 0 }\n+// { dg-warning \"deprecated\" \"\" { target c++17_only } 0 }\n+// { dg-error \"not a standard header\" \"\" { target c++20 } 0 }\ndiff --git a/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/complex.h.cc b/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/complex.h.cc\nnew file mode 100644\nindex 000000000000..fd6847bff4fc\n--- /dev/null\n+++ b/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/complex.h.cc\n@@ -0,0 +1,10 @@\n+// { dg-options \"-D_GLIBCXX_USE_DEPRECATED=0 -Wdeprecated\" }\n+// { dg-do compile }\n+// { dg-bogus \"deprecated\" \"C++17 deprecated <ctgmath> but not <tgmath.h>\" }\n+\n+#include <tgmath.h>\n+\n+#if __cplusplus < 201103L\n+# undef complex\n+#endif\n+std::complex<double> d; // { dg-error \"does not name a template\" \"\" { target c++98_only } 0 }\ndiff --git a/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc\ndeleted file mode 100644\nindex d693c8b23ed1..000000000000\n--- a/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc\n+++ /dev/null\n@@ -1,26 +0,0 @@\n-// { dg-options \"-std=gnu++98\" }\n-// { dg-do compile { target c++98_only } }\n-\n-// Copyright (C) 2007-2024 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-#include <ctgmath>\n-\n-// { dg-error \"ISO C.. 2011\" \"\" { target *-*-* } 32 }\n-\n-\n-\ndiff --git a/libstdc++-v3/testsuite/27_io/objects/char/1.cc b/libstdc++-v3/testsuite/27_io/objects/char/1.cc\nindex 9fc9244baf47..d50b38847027 100644\n--- a/libstdc++-v3/testsuite/27_io/objects/char/1.cc\n+++ b/libstdc++-v3/testsuite/27_io/objects/char/1.cc\n@@ -53,7 +53,6 @@\n #include <cctype>\n #include <cerrno>\n #include <cfloat>\n-#include <ciso646>\n #include <climits>\n #include <clocale>\n #include <cmath>\ndiff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/1.cc\nindex 23b2168805d1..c2f3643b4e55 100644\n--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/1.cc\n+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/1.cc\n@@ -53,7 +53,6 @@\n #include <cctype>\n #include <cerrno>\n #include <cfloat>\n-#include <ciso646>\n #include <climits>\n #include <clocale>\n #include <cmath>\n",
    "prefixes": [
        "v2",
        "1/1"
    ]
}