get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2218781,
    "url": "http://patchwork.ozlabs.org/api/patches/2218781/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/20260401215920.674286-2-jwakely@redhat.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": "<20260401215920.674286-2-jwakely@redhat.com>",
    "list_archive_url": null,
    "date": "2026-04-01T20:42:02",
    "name": "[02/10] libstdc++: Fix errors in Doxygen markup",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "edb09042ea1db51333c5c1bc3051a37ddee8317f",
    "submitter": {
        "id": 48004,
        "url": "http://patchwork.ozlabs.org/api/people/48004/?format=api",
        "name": "Jonathan Wakely",
        "email": "jwakely@redhat.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/20260401215920.674286-2-jwakely@redhat.com/mbox/",
    "series": [
        {
            "id": 498401,
            "url": "http://patchwork.ozlabs.org/api/series/498401/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=498401",
            "date": "2026-04-01T20:42:04",
            "name": "[01/10] libstdc++: Tweak Doxygen config file to include C++26 components",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/498401/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2218781/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2218781/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 (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=NtNhJD0s;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=38.145.34.32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)",
            "sourceware.org;\n\tdkim=pass (1024-bit key,\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=NtNhJD0s",
            "sourceware.org; dmarc=pass (p=quarantine dis=none)\n header.from=redhat.com",
            "sourceware.org; spf=pass smtp.mailfrom=redhat.com",
            "server2.sourceware.org;\n arc=none smtp.remote-ip=170.10.133.124"
        ],
        "Received": [
            "from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fmJp61ynTz1yCs\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 02 Apr 2026 09:00:46 +1100 (AEDT)",
            "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 38C1A4D108D2\n\tfor <incoming@patchwork.ozlabs.org>; Wed,  1 Apr 2026 22:00:34 +0000 (GMT)",
            "from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.133.124])\n by sourceware.org (Postfix) with ESMTP id 93C4D4BA2E32\n for <gcc-patches@gcc.gnu.org>; Wed,  1 Apr 2026 21:59:27 +0000 (GMT)",
            "from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com\n (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by\n relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n cipher=TLS_AES_256_GCM_SHA384) id us-mta-308-aLpZE6QNOaGwKaKaHDWxYw-1; Wed,\n 01 Apr 2026 17:59:26 -0400",
            "from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com\n (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested)\n by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS\n id F01F0180060F; Wed,  1 Apr 2026 21:59:24 +0000 (UTC)",
            "from zen.kayari.org (unknown [10.44.48.64])\n by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP\n id E1A8D19560AB; Wed,  1 Apr 2026 21:59:23 +0000 (UTC)"
        ],
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 sourceware.org 38C1A4D108D2",
            "OpenDKIM Filter v2.11.0 sourceware.org 93C4D4BA2E32"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 93C4D4BA2E32",
        "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 93C4D4BA2E32",
        "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1775080767; cv=none;\n b=WY5pXaW8rl3YKek/Sx3UPrJQi901HT3Bwg3w1fyEwow7sTgrTFXsB0ESBDqFvIKDz1h/X5GH8pZjt+ZUI03kCqJvn66MzxtxtHYDMPqw5sTJCkB6JFkU9OKymFQFUqLBIwZcOPbzH6+eh28WdEDqEhhKfw7fgrBWbTe73lWCKfE=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1775080767; c=relaxed/simple;\n bh=adGw3mFl+2Q5PJ5RKzsgfxs6Xya1Y0bt7GFX1qSh7Iw=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=rYz5GXKkfahJ8V55V5UOgt80jAYMUx9uEIRHZZJyIc8g0b4/657OiFCEKlQuHBlXA5R4wgN0ZmJ5NWEjF9XQh4dHt4Z8q7ogwUFgIx390LyIAZCWwtNoCRqHdkObBl4oPT0090+MHCqgK4obhx5szWt4itJlJLtFPdk7fqsjTLY=",
        "ARC-Authentication-Results": "i=1; server2.sourceware.org",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1775080767;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=5M9VuZBFzTgQXkacd2UlNDpi1u3Th+EpQjbYRnAqjxw=;\n b=NtNhJD0saEEyfnyBn0OLq1HuFQ353UmVoLQmNj1yAHEVX2ylPJerxH6DPVCF1BSMkEOZ/F\n x68GCfAw7RdeE2dy10UkwIWzRM7PrICAW95cRjKpV9HayU+c2gS+0p5hZXwb+4aug1JYnA\n XRQZJCIjujmGhlhc7Mo2Xp9ZlOmrufs=",
        "X-MC-Unique": "aLpZE6QNOaGwKaKaHDWxYw-1",
        "X-Mimecast-MFC-AGG-ID": "aLpZE6QNOaGwKaKaHDWxYw_1775080765",
        "From": "Jonathan Wakely <jwakely@redhat.com>",
        "To": "gcc-patches@gcc.gnu.org,\n\tlibstdc++@gcc.gnu.org",
        "Subject": "[PATCH 02/10] libstdc++: Fix errors in Doxygen markup",
        "Date": "Wed,  1 Apr 2026 21:42:02 +0100",
        "Message-ID": "<20260401215920.674286-2-jwakely@redhat.com>",
        "In-Reply-To": "<20260401215920.674286-1-jwakely@redhat.com>",
        "References": "<20260401215920.674286-1-jwakely@redhat.com>",
        "MIME-Version": "1.0",
        "X-Scanned-By": "MIMEDefang 3.0 on 10.30.177.12",
        "X-Mimecast-Spam-Score": "0",
        "X-Mimecast-MFC-PROC-ID": "zXpdQyQmU1hKnwgxl2zcCWYbtOD468d_U6nffS3K_gM_1775080765",
        "X-Mimecast-Originator": "redhat.com",
        "Content-Type": "text/plain",
        "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": "libstdc++-v3/ChangeLog:\n\n\t* doc/doxygen/doxygroups.cc: Define variable_templates group.\n\t* include/bits/binders.h: Fix @file name.\n\t* include/bits/formatfwd.h: Add missing @cond\n\t* include/bits/forward_list.h: Add closing backtick in comment.\n\t* include/bits/out_ptr.h (out_ptr, inout_ptr): Fix names in\n\t@param comments.\n\t* include/bits/regex_constants.h: Escape backtick in comment.\n\t* include/bits/stl_map.h: Add missing @{.\n\t* include/bits/stl_set.h: Likewise.\n\t* include/bits/stl_pair.h: Move declaration of complex into #if\n\tgroup where it's used. Fix nesting of @cond and @endcond in #if\n\tgroups.\n\t* include/std/functional: Move @cond inside #if group.\n\t* include/std/type_traits: Likewise.\n\t* libsupc++/exception: Fix typo'd backtick.\n---\n\nTested x86_64-linux, docs built with Doxygen 1.13.2 and 1.17.0 (from git)\n\n libstdc++-v3/doc/doxygen/doxygroups.cc      | 15 +++++++++++++++\n libstdc++-v3/include/bits/binders.h         |  2 +-\n libstdc++-v3/include/bits/formatfwd.h       |  1 +\n libstdc++-v3/include/bits/forward_list.h    |  2 +-\n libstdc++-v3/include/bits/out_ptr.h         |  4 ++--\n libstdc++-v3/include/bits/regex_constants.h |  4 ++--\n libstdc++-v3/include/bits/stl_map.h         |  1 +\n libstdc++-v3/include/bits/stl_pair.h        |  9 ++++++---\n libstdc++-v3/include/bits/stl_set.h         |  1 +\n libstdc++-v3/include/std/functional         |  2 +-\n libstdc++-v3/include/std/type_traits        |  8 ++++----\n libstdc++-v3/libsupc++/exception            |  4 ++--\n 12 files changed, 37 insertions(+), 16 deletions(-)",
    "diff": "diff --git a/libstdc++-v3/doc/doxygen/doxygroups.cc b/libstdc++-v3/doc/doxygen/doxygroups.cc\nindex 27d4a5e20ba9..00d945ceba00 100644\n--- a/libstdc++-v3/doc/doxygen/doxygroups.cc\n+++ b/libstdc++-v3/doc/doxygen/doxygroups.cc\n@@ -164,6 +164,21 @@ summarized in <a href=\"tables.html\">tables</a>.  */\n  * and condition variables.\n  */\n \n+/**\n+ * @defgroup variable_templates Variable Templates\n+ * @ingroup metaprogramming\n+ * @since C++17\n+ *\n+ * Each trait in `<type_traits>` that has a `value` static data member is\n+ * also available as a variable template, using the same name with a `_v`\n+ * suffix. For example, `std::is_integral_v<T>` is a `bool` constant with\n+ * the same value as `std::is_integral<T>::value`.\n+ *\n+ * In some cases, using the variable template instead of the `::value` member\n+ * avoids instantiating the class template for the trait. This gives the\n+ * compiler less work to do and can make your code compile a little faster.\n+ */\n+\n /**\n  * @defgroup experimental Technical Specifications\n  *\ndiff --git a/libstdc++-v3/include/bits/binders.h b/libstdc++-v3/include/bits/binders.h\nindex 972471745bd4..51dba4cb446d 100644\n--- a/libstdc++-v3/include/bits/binders.h\n+++ b/libstdc++-v3/include/bits/binders.h\n@@ -23,7 +23,7 @@\n // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see\n // <http://www.gnu.org/licenses/>.\n \n-/** @file include/bits/binder.h\n+/** @file include/bits/binders.h\n  *  This is an internal header file, included by other library headers.\n  *  Do not attempt to use it directly. @headername{functional}\n  */\ndiff --git a/libstdc++-v3/include/bits/formatfwd.h b/libstdc++-v3/include/bits/formatfwd.h\nindex d2dfb17492d1..d28ca70b7d80 100644\n--- a/libstdc++-v3/include/bits/formatfwd.h\n+++ b/libstdc++-v3/include/bits/formatfwd.h\n@@ -56,6 +56,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n   // [format.formatter], formatter\n   template<typename _Tp, typename _CharT = char> struct formatter;\n \n+/// @cond undocumented\n namespace __format\n {\n #ifdef _GLIBCXX_USE_WCHAR_T\ndiff --git a/libstdc++-v3/include/bits/forward_list.h b/libstdc++-v3/include/bits/forward_list.h\nindex 025486646f3c..7b333b3b0b6e 100644\n--- a/libstdc++-v3/include/bits/forward_list.h\n+++ b/libstdc++-v3/include/bits/forward_list.h\n@@ -1461,7 +1461,7 @@ namespace __fwdlist\n        *\n        *  This function will insert copies of the data in the range\n        *  `[ __first, __last)` into the %forward_list after the\n-       *  location specified by `__pos.\n+       *  location specified by `__pos`.\n        *\n        *  This operation is linear in the number of elements inserted and\n        *  does not invalidate iterators and references.\ndiff --git a/libstdc++-v3/include/bits/out_ptr.h b/libstdc++-v3/include/bits/out_ptr.h\nindex 48fe3475b2f7..cc5a8a3adacb 100644\n--- a/libstdc++-v3/include/bits/out_ptr.h\n+++ b/libstdc++-v3/include/bits/out_ptr.h\n@@ -396,7 +396,7 @@ namespace __detail\n   /**\n    * @tparam _Pointer The type of pointer to convert to.\n    * @param __s The pointer that should take ownership of the result.\n-   * @param __args... Arguments to use when resetting the smart pointer.\n+   * @param __args Pack of arguments to use when resetting the smart pointer.\n    * @return A `std::out_ptr_t` referring to `__s`.\n    * @since C++23\n    * @headerfile <memory>\n@@ -417,7 +417,7 @@ namespace __detail\n   /**\n    * @tparam _Pointer The type of pointer to convert to.\n    * @param __s The pointer that should take ownership of the result.\n-   * @param __args... Arguments to use when resetting the smart pointer.\n+   * @param __args Pack of arguments to use when resetting the smart pointer.\n    * @return A `std::inout_ptr_t` referring to `__s`.\n    * @since C++23\n    * @headerfile <memory>\ndiff --git a/libstdc++-v3/include/bits/regex_constants.h b/libstdc++-v3/include/bits/regex_constants.h\nindex 32b9de1000b2..e18f162196e3 100644\n--- a/libstdc++-v3/include/bits/regex_constants.h\n+++ b/libstdc++-v3/include/bits/regex_constants.h\n@@ -335,9 +335,9 @@ namespace regex_constants\n    * Format strings (from ECMA-262 [15.5.4.11]):\n    * @li $$  The dollar-sign itself ($)\n    * @li $&  The matched substring.\n-   * @li $`  The portion of @a string that precedes the matched substring.\n+   * @li $\\`  The portion of the string that precedes the matched substring.\n    *         This would be match_results::prefix().\n-   * @li $'  The portion of @a string that follows the matched substring.\n+   * @li $'  The portion of the string that follows the matched substring.\n    *         This would be match_results::suffix().\n    * @li $n  The nth capture, where n is in [1,9] and $n is not followed by a\n    *         decimal digit.  If n <= match_results::size() and the nth capture\ndiff --git a/libstdc++-v3/include/bits/stl_map.h b/libstdc++-v3/include/bits/stl_map.h\nindex 1e119a95b5cd..88a8faab9244 100644\n--- a/libstdc++-v3/include/bits/stl_map.h\n+++ b/libstdc++-v3/include/bits/stl_map.h\n@@ -1096,6 +1096,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER\n        *  is assigned from __obj.\n        *\n        *  Insertion requires logarithmic time.\n+       *  @{\n        */\n       template <typename _Obj>\n \tpair<iterator, bool>\ndiff --git a/libstdc++-v3/include/bits/stl_pair.h b/libstdc++-v3/include/bits/stl_pair.h\nindex efe6f72569ba..aa49f87fc137 100644\n--- a/libstdc++-v3/include/bits/stl_pair.h\n+++ b/libstdc++-v3/include/bits/stl_pair.h\n@@ -101,9 +101,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n   template<size_t...>\n     struct _Index_tuple;\n \n-  template<typename _Tp>\n-    class complex;\n-\n   template<size_t _Int, class _Tp1, class _Tp2>\n     constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&\n     get(pair<_Tp1, _Tp2>& __in) noexcept;\n@@ -153,6 +150,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n     get(const array<_Tp, _Nm>&&) noexcept;\n \n #if __glibcxx_tuple_like >= 202311 // >= C++26\n+  template<typename _Tp>\n+    class complex;\n+\n   template<size_t _Int, typename _Tp>\n     constexpr _Tp&\n     get(complex<_Tp>&) noexcept;\n@@ -233,8 +233,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n       }\n     };\n #endif // lib concepts\n+  /// @endcond\n #endif // C++11\n \n+  /// @cond undocumented\n+\n #if __glibcxx_tuple_like // >= C++23\n   template<typename _Tp>\n     inline constexpr bool __is_tuple_v = false;\ndiff --git a/libstdc++-v3/include/bits/stl_set.h b/libstdc++-v3/include/bits/stl_set.h\nindex 14825cc05acb..ce35e28cde78 100644\n--- a/libstdc++-v3/include/bits/stl_set.h\n+++ b/libstdc++-v3/include/bits/stl_set.h\n@@ -585,6 +585,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER\n        *  to the first is returned.\n        *\n        *  Insertion requires logarithmic time (if the hint is not taken).\n+       *  @{\n        */\n       iterator\n       insert(const_iterator __position, const value_type& __x)\ndiff --git a/libstdc++-v3/include/std/functional b/libstdc++-v3/include/std/functional\nindex 314c0f6ac4a4..91478d3e9fbe 100644\n--- a/libstdc++-v3/include/std/functional\n+++ b/libstdc++-v3/include/std/functional\n@@ -148,9 +148,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n     }\n #endif // __cpp_lib_invoke_r\n \n+#if __cplusplus >= 201103L\n   /// @cond undocumented\n \n-#if __cplusplus >= 201103L\n   template<typename _MemFunPtr,\n \t   bool __is_mem_fn = is_member_function_pointer<_MemFunPtr>::value>\n     class _Mem_fn_base\ndiff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits\nindex a7f881fe9736..bba7a3fd03d2 100644\n--- a/libstdc++-v3/include/std/type_traits\n+++ b/libstdc++-v3/include/std/type_traits\n@@ -2484,15 +2484,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n     const size_t aligned_union<_Len, _Types...>::alignment_value;\n #pragma GCC diagnostic pop\n \n-  /// @cond undocumented\n-\n+  // Decay trait for arrays and functions, used for perfect forwarding\n+  // in make_pair, make_tuple, etc.\n #if _GLIBCXX_USE_BUILTIN_TRAIT(__decay)\n   template<typename _Tp>\n     struct decay\n     { using type = __decay(_Tp); };\n #else\n-  // Decay trait for arrays and functions, used for perfect forwarding\n-  // in make_pair, make_tuple, etc.\n+  /// @cond undocumented\n+\n   template<typename _Up>\n     struct __decay_selector\n     : __conditional_t<is_const<const _Up>::value, // false for functions\ndiff --git a/libstdc++-v3/libsupc++/exception b/libstdc++-v3/libsupc++/exception\nindex 0ae01be25dd5..ab3e06da9f79 100644\n--- a/libstdc++-v3/libsupc++/exception\n+++ b/libstdc++-v3/libsupc++/exception\n@@ -134,8 +134,8 @@ namespace std _GLIBCXX_VISIBILITY(default)\n    *  stack unwinding [15.2].  end note]'\n    *\n    *  2: 'When `uncaught_exception()` is true, throwing an\n-   *  %exception can result in a call of 1terminate()`\n-   *  (15.5.1).'\n+   *  %exception can result in a call of `terminate()`\n+   *  (15.5.1).\n    */\n   _GLIBCXX17_DEPRECATED_SUGGEST(\"std::uncaught_exceptions()\")\n   bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));\n",
    "prefixes": [
        "02/10"
    ]
}