get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2226335,
    "url": "http://patchwork.ozlabs.org/api/1.2/patches/2226335/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/bmm.hhubwh7m90.gcc.gcc-TEST.pinskia.33.1.7@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.hhubwh7m90.gcc.gcc-TEST.pinskia.33.1.7@forge-stage.sourceware.org>",
    "list_archive_url": null,
    "date": "2026-04-22T10:49:16",
    "name": "[v1,07/15] libcpp: Fix handling of `deferred` pragmas with -traditional [PR79516]",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "d11498cf3a020edd58d669f34029f7eaee7a7461",
    "submitter": {
        "id": 93219,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/93219/?format=api",
        "name": "Andrew Pinski via Sourceware Forge",
        "email": "forge-bot+pinskia@forge-stage.sourceware.org"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/bmm.hhubwh7m90.gcc.gcc-TEST.pinskia.33.1.7@forge-stage.sourceware.org/mbox/",
    "series": [
        {
            "id": 500990,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/500990/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=500990",
            "date": "2026-04-22T10:49:12",
            "name": "copy-prop-arg",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/500990/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2226335/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2226335/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 4g0xqy38S7z1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 21:31:10 +1000 (AEST)",
            "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 77E5D402ABFA\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 11:31:08 +0000 (GMT)",
            "from forge-stage.sourceware.org (vm08.sourceware.org [38.145.34.39])\n by sourceware.org (Postfix) with ESMTPS id 1A6A441627DC\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 10:50:34 +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 AB3B442BDC\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 10:50:31 +0000 (UTC)"
        ],
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 sourceware.org 77E5D402ABFA",
            "OpenDKIM Filter v2.11.0 sourceware.org 1A6A441627DC"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 1A6A441627DC",
        "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 1A6A441627DC",
        "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776855034; cv=none;\n b=mKjlHg8EqrJaRDHFtE8eiqnwbrGIT8gZEV48e1fI29RprBpStfmNFmHB9r4lHU+PVZU4datWKZqYaIm8wrotiPDTcSXk8Ag44qgxlH5hVi9aQt3nnOkO879ulV2SwF2I2I5mYEHoq5ylW5GUA3FQIxD/c4P61WH/hoZKTJX5a/Q=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776855034; c=relaxed/simple;\n bh=JFGQbPsg7HfXGGuh5OB/MiCZe4P1J+6oeUWSMxMBRTQ=;\n h=From:Date:Subject:To:Message-ID;\n b=ozKlIUG2HENmU+J4MDfAIMRLeQutJfzokQ6jeHbpkPYcXHBqfLY3upH/UOox+//+fdTghS0t+0tpRBNZrZTTXCcxsYDWu/0o7tocclXShISamasdFAc4c7ckMfq1m+ThpZ9Rtfyf5mGmzexWV2BpTyB3cbCvsmpEBI8Ma1D/vlc=",
        "ARC-Authentication-Results": "i=1; server2.sourceware.org",
        "From": "Andrew Pinski via Sourceware Forge\n <forge-bot+pinskia@forge-stage.sourceware.org>",
        "Date": "Wed, 22 Apr 2026 10:49:16 +0000",
        "Subject": "[PATCH v1 07/15] libcpp: Fix handling of `deferred` pragmas with\n -traditional [PR79516]",
        "To": "gcc-patches mailing list <gcc-patches@gcc.gnu.org>",
        "Message-ID": "\n <bmm.hhubwh7m90.gcc.gcc-TEST.pinskia.33.1.7@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/33",
        "References": "\n <bmm.hhubwh7m90.gcc.gcc-TEST.pinskia.33.1.0@forge-stage.sourceware.org>",
        "In-Reply-To": "\n <bmm.hhubwh7m90.gcc.gcc-TEST.pinskia.33.1.0@forge-stage.sourceware.org>",
        "X-Patch-URL": "\n https://forge.sourceware.org/pinskia/gcc-TEST/commit/f1fe41257def09fc2856c03db9f7e55fc2ff336d",
        "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>,\n pinskia@gcc.gnu.org",
        "Errors-To": "gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org"
    },
    "content": "From: Andrew Pinski <quic_apinski@quicinc.com>\n\nThe problem here is with deferred pragmas, libcpp would inject a\nPRAGMA_EOL before the end of the new line in the tokens stream\nbut traditional cpp path does not use that path except when\ndealing with directives. In this case we call out to handle `#if`\ndirective and that token got added due to the change of line #.\nSo at the end of a directive, we need to set in_deferred_pragma to\nfalse as traditional cpp path handles the new line itself.\n\nBootstrapped and tested on x86_64-linux.\n\n\tPR preprocessor/79516\n\nlibcpp/ChangeLog:\n\n\t* directives.cc (end_directive): Also\n\tset in_deferred_pragma to false with traditional cpp.\n\ngcc/testsuite/ChangeLog:\n\n\t* c-c++-common/cpp/pragma-message-trad.c: New test.\n\nSigned-off-by: Andrew Pinski <quic_apinski@quicinc.com>\n---\n gcc/testsuite/c-c++-common/cpp/pragma-message-trad.c | 9 +++++++++\n libcpp/directives.cc                                 | 2 ++\n 2 files changed, 11 insertions(+)\n create mode 100644 gcc/testsuite/c-c++-common/cpp/pragma-message-trad.c",
    "diff": "diff --git a/gcc/testsuite/c-c++-common/cpp/pragma-message-trad.c b/gcc/testsuite/c-c++-common/cpp/pragma-message-trad.c\nnew file mode 100644\nindex 000000000000..0478e6fc7c7d\n--- /dev/null\n+++ b/gcc/testsuite/c-c++-common/cpp/pragma-message-trad.c\n@@ -0,0 +1,9 @@\n+/* { dg-do preprocess } */\n+/* { dg-options \"-traditional-cpp\" } */\n+/* PR preprocessor/79516 */\n+\n+#pragma message \"OK\"\n+\n+#if 0\n+#pragma message (\"Not printed\")\n+#endif\ndiff --git a/libcpp/directives.cc b/libcpp/directives.cc\nindex 6b0d691f491a..9c0f77ab0176 100644\n--- a/libcpp/directives.cc\n+++ b/libcpp/directives.cc\n@@ -323,6 +323,8 @@ end_directive (cpp_reader *pfile, int skip_line)\n       /* Revert change of prepare_directive_trad.  */\n       if (!pfile->state.in_deferred_pragma)\n \tpfile->state.prevent_expansion--;\n+      /* No longer inside a deferred pragma. */\n+      pfile->state.in_deferred_pragma = false;\n \n       if (pfile->directive != &dtable[T_DEFINE])\n \t_cpp_remove_overlay (pfile);\n",
    "prefixes": [
        "v1",
        "07/15"
    ]
}