get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2222429,
    "url": "http://patchwork.ozlabs.org/api/patches/2222429/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/cca44482-1e68-4547-bf2c-e8be87dd553d@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": "<cca44482-1e68-4547-bf2c-e8be87dd553d@gmail.com>",
    "list_archive_url": null,
    "date": "2026-04-11T16:54:35",
    "name": "[fortran] Fix Bug 93554 - [13/14/15/16 Regression] ICE in expand_oacc_for ...",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "c64f3efb6cd46a918244e749847eadad51a72e21",
    "submitter": {
        "id": 78264,
        "url": "http://patchwork.ozlabs.org/api/people/78264/?format=api",
        "name": "Jerry D",
        "email": "jvdelisle2@gmail.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/cca44482-1e68-4547-bf2c-e8be87dd553d@gmail.com/mbox/",
    "series": [
        {
            "id": 499566,
            "url": "http://patchwork.ozlabs.org/api/series/499566/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=499566",
            "date": "2026-04-11T16:54:35",
            "name": "[fortran] Fix Bug 93554 - [13/14/15/16 Regression] ICE in expand_oacc_for ...",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/499566/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2222429/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2222429/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=nQu4lgQL;\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=nQu4lgQL",
            "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.214.179"
        ],
        "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 4ftKYF1jkJz1yGb\n\tfor <incoming@patchwork.ozlabs.org>; Sun, 12 Apr 2026 02:55:08 +1000 (AEST)",
            "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 6866F4BA23F2\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 11 Apr 2026 16:55:05 +0000 (GMT)",
            "from mail-pl1-f179.google.com (mail-pl1-f179.google.com\n [209.85.214.179])\n by sourceware.org (Postfix) with ESMTPS id 205FE4BA23DF\n for <gcc-patches@gcc.gnu.org>; Sat, 11 Apr 2026 16:54:38 +0000 (GMT)",
            "by mail-pl1-f179.google.com with SMTP id\n d9443c01a7336-2a7a9b8ed69so23206935ad.2\n for <gcc-patches@gcc.gnu.org>; Sat, 11 Apr 2026 09:54:38 -0700 (PDT)",
            "from [10.168.168.66] ([50.37.179.80])\n by smtp.gmail.com with ESMTPSA id\n d9443c01a7336-2b2d4f2ec20sm67085995ad.66.2026.04.11.09.54.35\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Sat, 11 Apr 2026 09:54:35 -0700 (PDT)"
        ],
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 sourceware.org 6866F4BA23F2",
            "OpenDKIM Filter v2.11.0 sourceware.org 205FE4BA23DF"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 205FE4BA23DF",
        "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 205FE4BA23DF",
        "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1775926478; cv=none;\n b=lNQI25SQbtRWHhjO+M7twHqtDzMcgjJLkwV4bRaTBuYB3ywaUjPor9VDk9tq5ksyCsE5kAa+yfJxSLJ3X145huM6GI4KY1vIIphV9gBT70Qv6LHjYZ6YxazVJNBVC82TOjfmf0rWOIi1HxY3EXdbWu93DoQVr09h4KPrQfw1TiQ=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1775926478; c=relaxed/simple;\n bh=JAt87yl0vwkdQdqLzBIt2rCSRUxX3hXMCKKbb3+hf4c=;\n h=DKIM-Signature:Message-ID:Date:MIME-Version:To:From:Subject;\n b=XqWiWrEsIPlUoKHBkb++uvGH9TwDndaXKDqlqM1Vj4S+Cq6jd5yOVVUMShVxldi3TUENA7XWXSPepWoZd7mYG313XR7o7tNArEMPKTONIJyWf1SnDNaz5f8ZiGO8ykf+0F9i++ZlUCRP1ZicV6e72SArd6Vet/MgkVH8ybDw3cE=",
        "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=1775926477; x=1776531277; darn=gcc.gnu.org;\n h=autocrypt:subject:from:cc:to:content-language:user-agent\n :mime-version:date:message-id:from:to:cc:subject:date:message-id\n :reply-to; bh=UYWERJEytt9RwclZ9By2Jo4DemXaML5IaJw18QhIvZo=;\n b=nQu4lgQLjMVzCuW5tpuecR1WnBu+r8Jmv/hsXuAJ8ZCYTGSrm2sho8vCX9QekwPUQQ\n 00GePukZapWWJVDRJMdT0NjtwiHD1GT9N5mpVfH58c8OGvEAMYZZ2WufAEtWK78GAMNw\n Cygf3hQfftMK2uwXz0dEv458yNUHXzadJYucBDN3sy3iXCXMwyw5/ef11OdVG2BgF+S4\n vZaM4sMGNR7bFkx0DUVkiwJPsrIKvZmf8F1Q/B5vJM9DUvrYRq8vtYZEwqgQNGBUxazX\n iTxagqt7rEULqWJ2ios0RxcAneioMirhkIj7HW+Vtv0RQ8GUClXoV5POSxWZXGCBap5T\n +HvQ==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1775926477; x=1776531277;\n h=autocrypt:subject:from:cc:to:content-language:user-agent\n :mime-version:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=UYWERJEytt9RwclZ9By2Jo4DemXaML5IaJw18QhIvZo=;\n b=qTN+SqIk7Tr3eTPL5kEw+3cXjnhMGU7PZY2+VPk+7qm1y5MnUwdA6G1w8Pu4NXuilZ\n yr3aaOGTKgyJLfpUmy49exjEWeve4abB6PdU3+llyrk7gSkLjJPc6I1F0AKPxKpuYkkc\n bzBqcwnxGtMWpELUHRiLdbI2gxVlebKoDBE6HybcG5fxnNV2EjkMecq1dXd+dljgYMba\n xT1c3AI+hyKmE+g+z5kzeSmhZI4J870JOjCR6rWYqSm9xNwrgAWLLR1FewLSECSrN6uJ\n PhfNWSyLtdxeNV5D83MwN5wbMS/vtQ1spW+p7S/9/P6rc94T23L5D6A/sX1XQr17oIBP\n Mkag==",
        "X-Forwarded-Encrypted": "i=1;\n AFNElJ89grNLio3Xj+XWDTbhKogWYmFB6NqZAezwjDIOAPZyrOeLUzBdm6PAJ4kjwIQqamKQr5II2oL+HB3E9w==@gcc.gnu.org",
        "X-Gm-Message-State": "AOJu0YxDtURA7r1HVoaXAgyPLPHJTK9o9xw5jTMYgmdGUdypHYZdsZiT\n WGk6+jnti/D18Ig29Bcs7QOFQb1jeRSbm6F/J2/9rzZglqv49OsdlMMD",
        "X-Gm-Gg": "AeBDiesLtRLfoQcZ0ZMqYswL5XHSq8hErD8oncb992aWZ7Zvg155olkacaYZnQH6W4b\n a84KvqXPhzA/D/heIBJpD4z377/jtiLEfihPK9eNQAiFiUoh4i9QDjIWFIk3jnm79GMDIG4KODJ\n 6XiJUjn0508TPAigVXbM0UzDkhQhinVfNWNOXPrRpknhX1XokYsWLvsfr6+ReLq1YOLdcvkvl8H\n YZ60Ciy9GlOVwr04GE5UDxz5Np46cQIoOa5W6hHnRFApN7SGByJOOzRQZt7RyK2e6EdhqECR+sI\n vnmX3P467sM/pILD/epdkcRQgi80lbQckdFgLOSFDw1kFNM4EUOEcY5Ntc7PbCgppb824uQ88Tg\n NjziZPB7aeermBzGJgFRW9uBrAzeh+sT/yVaAYs80p7qNxGYaGqt3iqlwx75/roB4Zq7/smCAG2\n b9BzLjGcZO38tSLb1zOpuP4PjI2ro=",
        "X-Received": "by 2002:a17:902:9a8e:b0:2b0:ac1e:9720 with SMTP id\n d9443c01a7336-2b2d5a459b2mr59022265ad.23.1775926476767;\n Sat, 11 Apr 2026 09:54:36 -0700 (PDT)",
        "Content-Type": "multipart/mixed; boundary=\"------------34M4rSPLt6hHrcUby38snnhW\"",
        "Message-ID": "<cca44482-1e68-4547-bf2c-e8be87dd553d@gmail.com>",
        "Date": "Sat, 11 Apr 2026 09:54:35 -0700",
        "MIME-Version": "1.0",
        "User-Agent": "Mozilla Thunderbird",
        "Content-Language": "en-US",
        "To": "gfortran <fortran@gcc.gnu.org>, gcc-patches <gcc-patches@gcc.gnu.org>",
        "Cc": "Paul Richard Thomas <paul.richard.thomas@gmail.com>,\n Christopher Albert <albert@tugraz.at>",
        "From": "Jerry D <jvdelisle2@gmail.com>",
        "Subject": "[PATCH,fortran] Fix Bug 93554 - [13/14/15/16 Regression] ICE in\n expand_oacc_for ...",
        "Autocrypt": "addr=jvdelisle2@gmail.com; keydata=\n xjMEY5TlkxYJKwYBBAHaRw8BAQdAyrkRDhmJhSTTlV/50gJLlvliU6/Lm5C9ViKV8T9y1GnN\n HkplcnJ5IEQgPGp2ZGVsaXNsZTJAZ21haWwuY29tPsKJBBMWCAAxFiEEOFR0TS0390uh8dRV\n uWXAJaWpwWoFAmOU5ZMCGwMECwkIBwUVCAkKCwUWAgMBAAAKCRC5ZcAlpanBalsJAP4wdCiH\n 2Of9oZv1QWgZ/AVdbWFM3Fv47/WZQHOXfoZ9HgD6AkXrKeJ+6usST7PEaDJjptaViT1fLiYY\n V/6XaOKSsgLOOARjlOWTEgorBgEEAZdVAQUBAQdAdA7PczYnl07vnOT9oP/wvvMDd4HP09Zl\n g3LzwXQJWT8DAQgHwngEGBYIACAWIQQ4VHRNLTf3S6Hx1FW5ZcAlpanBagUCY5TlkwIbDAAK\n CRC5ZcAlpanBasF/AQCa5WjlsVpLsEiggZyT18MOJNAdeRd7wkGDUrwedHrvawD/cE1H+/Ms\n L1ZwvQiLfGdx8crigQqWTQyos4kH8Wx82wc=",
        "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": "The attached patch look fairly simple.\n\nRegression tested on x86_64.\n\nI plan to commit this one in a little while.\n\nI wanted to note that most of these regressions we have been fixing have been \naround a long time. I suspect they were not causing too much grief in the real \nworld or someone would have fixed them already. Regardless, we want to clean \nthese up as much as we can to improve robustness in gfortran-16.\n\nThanks all,\n\nRegards.\n\nJerry\n---\nfortran: Fix ICE in expand_oacc_for with private derived type\n  [PR93554]\n\nUsing a derived type with an allocatable component in a private clause\non an OpenACC loop caused an ICE in expand_oacc_for because the\nfinalization code for the allocatable component inserted additional\nbasic blocks between the loop's continuation/entry blocks and the exit\nblock, violating the strict CFG assertions.\n\nThe assertions checked that BRANCH_EDGE(entry_bb)->dest == exit_bb and\nFALLTHRU_EDGE(cont_bb)->dest == exit_bb, but with finalization blocks\nthese edges can point to intermediate blocks rather than directly to\nthe exit.  Relax the assertions to only verify the expected edge count\n(two successors) without requiring specific destinations.\n\n\tPR fortran/93554\n\ngcc/ChangeLog:\n\n\t* omp-expand.cc (expand_oacc_for): Relax entry_bb and cont_bb\n\tassertions to allow intermediate blocks from finalization code.\n\tRemove exit_bb predecessor count assertion.\n\ngcc/testsuite/ChangeLog:\n\n\t* gfortran.dg/goacc/pr93554.f90: New test.",
    "diff": "From c1c11ab69115f14e2914fb8c135f5e4f9061a4fa Mon Sep 17 00:00:00 2001\nFrom: Christopher Albert <albert@tugraz.at>\nDate: Fri, 3 Apr 2026 18:37:54 +0200\nSubject: [PATCH] fortran: Fix ICE in expand_oacc_for with private derived type\n [PR93554]\n\nUsing a derived type with an allocatable component in a private clause\non an OpenACC loop caused an ICE in expand_oacc_for because the\nfinalization code for the allocatable component inserted additional\nbasic blocks between the loop's continuation/entry blocks and the exit\nblock, violating the strict CFG assertions.\n\nThe assertions checked that BRANCH_EDGE(entry_bb)->dest == exit_bb and\nFALLTHRU_EDGE(cont_bb)->dest == exit_bb, but with finalization blocks\nthese edges can point to intermediate blocks rather than directly to\nthe exit.  Relax the assertions to only verify the expected edge count\n(two successors) without requiring specific destinations.\n\n\tPR fortran/93554\n\ngcc/ChangeLog:\n\n\t* omp-expand.cc (expand_oacc_for): Relax entry_bb and cont_bb\n\tassertions to allow intermediate blocks from finalization code.\n\tRemove exit_bb predecessor count assertion.\n\ngcc/testsuite/ChangeLog:\n\n\t* gfortran.dg/goacc/pr93554.f90: New test.\n\nSigned-off-by: Christopher Albert <albert@tugraz.at>\n---\n gcc/omp-expand.cc                           | 13 +++++--------\n gcc/testsuite/gfortran.dg/goacc/pr93554.f90 | 21 +++++++++++++++++++++\n 2 files changed, 26 insertions(+), 8 deletions(-)\n create mode 100644 gcc/testsuite/gfortran.dg/goacc/pr93554.f90\n\ndiff --git a/gcc/omp-expand.cc b/gcc/omp-expand.cc\nindex 2b4467cab82..f7db4542b7d 100644\n--- a/gcc/omp-expand.cc\n+++ b/gcc/omp-expand.cc\n@@ -7718,28 +7718,25 @@ expand_oacc_for (struct omp_region *region, struct omp_for_data *fd)\n   basic_block bottom_bb = NULL;\n \n   /* entry_bb has two successors; the branch edge is to the exit\n-     block, fallthrough edge to body.  */\n-  gcc_assert (EDGE_COUNT (entry_bb->succs) == 2\n-\t      && BRANCH_EDGE (entry_bb)->dest == exit_bb);\n+     block (or to finalization blocks preceding it), fallthrough edge\n+     to body.  */\n+  gcc_assert (EDGE_COUNT (entry_bb->succs) == 2);\n \n   /* If cont_bb non-NULL, it has 2 successors.  The branch successor is\n      body_bb, or to a block whose only successor is the body_bb.  Its\n      fallthrough successor is the final block (same as the branch\n-     successor of the entry_bb).  */\n+     successor of the entry_bb), possibly via finalization blocks.  */\n   if (cont_bb)\n     {\n       basic_block body_bb = FALLTHRU_EDGE (entry_bb)->dest;\n       basic_block bed = BRANCH_EDGE (cont_bb)->dest;\n \n-      gcc_assert (FALLTHRU_EDGE (cont_bb)->dest == exit_bb);\n+      gcc_assert (EDGE_COUNT (cont_bb->succs) == 2);\n       gcc_assert (bed == body_bb || single_succ_edge (bed)->dest == body_bb);\n     }\n   else\n     gcc_assert (!gimple_in_ssa_p (cfun));\n \n-  /* The exit block only has entry_bb and cont_bb as predecessors.  */\n-  gcc_assert (EDGE_COUNT (exit_bb->preds) == 1 + (cont_bb != NULL));\n-\n   tree chunk_no;\n   tree chunk_max = NULL_TREE;\n   tree bound, offset;\ndiff --git a/gcc/testsuite/gfortran.dg/goacc/pr93554.f90 b/gcc/testsuite/gfortran.dg/goacc/pr93554.f90\nnew file mode 100644\nindex 00000000000..11a27db2623\n--- /dev/null\n+++ b/gcc/testsuite/gfortran.dg/goacc/pr93554.f90\n@@ -0,0 +1,21 @@\n+! { dg-do compile }\n+! { dg-additional-options \"-fopenacc\" }\n+!\n+! PR fortran/93554\n+! ICE in expand_oacc_for when a derived type with an allocatable\n+! component is used with the private clause on an acc loop.\n+\n+program p\n+   type t\n+      integer :: a\n+      integer, allocatable :: b(:)\n+   end type\n+   type(t) :: x\n+   integer :: i\n+   !$acc kernels\n+   !$acc loop private(x)\n+   do i = 0, 31\n+      x%a = 1\n+   end do\n+   !$acc end kernels\n+end\n-- \n2.53.0\n\n",
    "prefixes": [
        "fortran"
    ]
}