get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2195306,
    "url": "http://patchwork.ozlabs.org/api/patches/2195306/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/83fe4071-7005-4f17-9724-9ffa8b4b69cf@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": "<83fe4071-7005-4f17-9724-9ffa8b4b69cf@gmail.com>",
    "list_archive_url": null,
    "date": "2026-02-10T18:02:48",
    "name": "[3/13] Coarray shared memory library",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "66a0e78b9e29ff4c4287d7b848b00b81708c15ed",
    "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/83fe4071-7005-4f17-9724-9ffa8b4b69cf@gmail.com/mbox/",
    "series": [
        {
            "id": 491719,
            "url": "http://patchwork.ozlabs.org/api/series/491719/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=491719",
            "date": "2026-02-10T17:55:35",
            "name": "[1/13] Coarray shared memory library",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/491719/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2195306/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2195306/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=20230601 header.b=On+ZhzmX;\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 (2048-bit key,\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20230601 header.b=On+ZhzmX",
            "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.173"
        ],
        "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 4f9TvT2Xnsz1xvb\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 11 Feb 2026 05:03:32 +1100 (AEDT)",
            "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id EB1284BA2E3D\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 10 Feb 2026 18:03:29 +0000 (GMT)",
            "from mail-pl1-f173.google.com (mail-pl1-f173.google.com\n [209.85.214.173])\n by sourceware.org (Postfix) with ESMTPS id EEDB24BA2E11\n for <gcc-patches@gcc.gnu.org>; Tue, 10 Feb 2026 18:02:50 +0000 (GMT)",
            "by mail-pl1-f173.google.com with SMTP id\n d9443c01a7336-2a962230847so8656825ad.3\n for <gcc-patches@gcc.gnu.org>; Tue, 10 Feb 2026 10:02:50 -0800 (PST)",
            "from [10.168.168.23] ([50.37.179.80])\n by smtp.gmail.com with ESMTPSA id\n d9443c01a7336-2aadc397d98sm92239855ad.18.2026.02.10.10.02.48\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Tue, 10 Feb 2026 10:02:49 -0800 (PST)"
        ],
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 sourceware.org EB1284BA2E3D",
            "OpenDKIM Filter v2.11.0 sourceware.org EEDB24BA2E11"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org EEDB24BA2E11",
        "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org EEDB24BA2E11",
        "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1770746571; cv=none;\n b=Nqu8nU0M3+f6OZxttWXY/vpmZi2Tdd8m8jjnRhIMbvUp7c95kufMXGHOdN203dcs3MBOUkQ9dvOUofK4bGTpr/8YIke41ONr8rpouNX8Qf4C4UEW7DHK+bz10b6kmr6BK+UWEx/SxVrZggiw8ZKJChQMnTsMFBjkNVXCwWhUGbw=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1770746571; c=relaxed/simple;\n bh=XPNhfTUvw/qhvBC9FbrJ9ICM/PSvllEjAN0n7KVIk8k=;\n h=DKIM-Signature:Message-ID:Date:MIME-Version:To:From:Subject;\n b=hEKzR2+RBBICF6RQdt8NicD1umKbPDYu6j2Sc08oExrnUeV/yV0CM9ZBL4GyNnbM4uhHYMiw05J12HSKd6j61dhti4wAiXALR88dtYvdhEyzEre8Gq0N/be+FPfWihipgBdMN9p0E5kITRvEFWcnaE3Kq5KtLXG3uwGo+eNrEp8=",
        "ARC-Authentication-Results": "i=1; server2.sourceware.org",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20230601; t=1770746570; x=1771351370; 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=XPNhfTUvw/qhvBC9FbrJ9ICM/PSvllEjAN0n7KVIk8k=;\n b=On+ZhzmX6dFm+tTWwDNE+4Kpm/LUnUQ4i6iXbb2jLQLmgmRsvjQbmH3ehPIg3Z7ofY\n eFFSZBrZz334kHbkF3b1yH/49uaAW39Afx2ixmWw37Em31r6wknj2nO7SzIjSF+HV2OZ\n v3vdCZ9DhFw7GuyzFZpmz9/Nf8QGsNALffM5A3arXuumxHXl9ztD/PT7Pa/jikw5UZYo\n vpvyDLgN97t36RaidarWUxAmzowEI6Dderj2epmGdwIVONOz9L5mbMudNIhDfCuvgMU2\n 42/BBdccrunFliZGzyzdWuKtK0TycYvz8md5JLdZerHd0sfjBGDs4w7UBctMlKXIZJsU\n IQPw==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1770746570; x=1771351370;\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=XPNhfTUvw/qhvBC9FbrJ9ICM/PSvllEjAN0n7KVIk8k=;\n b=SOsQBNHfActZigh2mBnW/JLvwjJNEJ8ZZmLQK8fECE9DqN5Yu6BASk4xkWliq16CA2\n NLSAcKyenLJi/6rGPQxThJHxkbFt5B0nIu1JbdqYmfwjOhhOAzrd8XibnAEV7EtAyQwf\n PjWs/zu0CHfMh1gYyPkBZjNqUdEIzlUWiuo5umDAp2phpWkl1OrIoMrPyKJhE7Yo0a2+\n GSA79ShMDAkBZ1mcJJeb44hiw1nPALbUOXoZETDWCAMMKDhr6JP50AKTEHr+DLBUyla4\n 1r+IfgaNuAwhXg8ee0y3zTYiRVhJmNYvI2f3UhlrarinZieJZwF4xK5yq1tf3BNBnPOP\n hGAg==",
        "X-Forwarded-Encrypted": "i=1;\n AJvYcCX4LvjVao3sO/HWBOgHpPEeNlcDmANkz7OTxVf0nLRehpcBfeFPjAAYd93BFe9U7BznzYF/+9482BTS0w==@gcc.gnu.org",
        "X-Gm-Message-State": "AOJu0Yx9MJ9R5FmuDC6Gf/E9Z3sIN5Z7ULziQE2eSVzG7PuxSYOFkh/D\n p1WQqzEUDSZc7AvJqenJI90fSz5DGC0vje+E8WKSvcCb/BBrDBPrhhPJ",
        "X-Gm-Gg": "AZuq6aJ8o5IcNphv3wTj/GCVFtRT3Q2jV6juCOOZTyGc014ido1CQCi1NAtHjoeQkkV\n +HMlL6/maC/ijkl7EQArYxenVJLyraKVvRfTBrBdcYw+/Vo7wZ/9ZAnyTbCyy79witBK2UGZl53\n /EhGPw5K9GYxaIi/f0EsMDDQRaHKV8TDVK8gF90htoWC9CI+gUe5pff+6DCcfZRTPlTFYxyy/yH\n FFsbyqNjCeZFmFVvI+ZHUDSX6zi7l6PxWFt09SsRO8d2c4K+nzLdSveMdkJx/VFk8R1f5T53S2x\n Lo7HOYKC4cVWACCeFMBf+xhYz+G2bH4UAO57BfMSP3x3tM22hS/f6KZdkXGBodeS/MJXgE4MkAh\n iowlLhRWTnQwpNMSR9zAuwISUGVbJgrV/SDNXn/gcY4qy7HoV0oUFR7yzTY0R7HgbcmwsU0Puju\n G23IT44RRsi1VMPClYSGIxv3X56GI=",
        "X-Received": "by 2002:a17:902:ce91:b0:2aa:daf9:6980 with SMTP id\n d9443c01a7336-2aadaf96dafmr107487355ad.27.1770746569709;\n Tue, 10 Feb 2026 10:02:49 -0800 (PST)",
        "Content-Type": "multipart/mixed; boundary=\"------------pk9OweX0T0rWwRrBuwV04ESX\"",
        "Message-ID": "<83fe4071-7005-4f17-9724-9ffa8b4b69cf@gmail.com>",
        "Date": "Tue, 10 Feb 2026 10:02:48 -0800",
        "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": "Tobias Burnus <tburnus@baylibre.com>, Richard Biener <rguenther@suse.de>,\n Andre Vehreschild <vehre@gmx.de>, Jakub Jelinek <jakub@redhat.com>,\n Paul Richard Thomas <paul.richard.thomas@gmail.com>,\n FX Coudert <fxcoudert@gmail.com>, Toon Moene <toon@moene.org>",
        "From": "Jerry D <jvdelisle2@gmail.com>",
        "Subject": "[PATCH 3/13] Coarray shared memory library",
        "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": "Dear all, as requested,\n\nSee attached patch 3 of 13\n\nBest Regards,\n\nJerry",
    "diff": "commit fb5c98df7756526acf6c65e130db51b33360045f\nAuthor: Andre Vehreschild <vehre@gcc.gnu.org>\nDate:   Wed Jun 18 09:32:19 2025 +0200\n\n    Fortran: Fix coarray generation for char arrays and derived types.\n    \n    Fix the generation of a coarray, esp. its bounds, for char arrays.\n    When a scalar char array is used in a co_reduce the coarray part was\n    dropped.\n    \n    Furthermore for class typed dummy arguments where derived types were\n    used as actual arguments the coarray generation is now done, too.\n    \n    gcc/fortran/ChangeLog:\n    \n            * trans-expr.cc (get_scalar_to_descriptor_type): Fix coarray\n            generation.\n            (copy_coarray_desc_part): New function to copy coarray dimensions.\n            (gfc_class_array_data_assign): Use the new function.\n            (gfc_conv_derived_to_class): Same.\n\ndiff --git a/gcc/fortran/trans-expr.cc b/gcc/fortran/trans-expr.cc\nindex 7949d936078..58dc1eb04c1 100644\n--- a/gcc/fortran/trans-expr.cc\n+++ b/gcc/fortran/trans-expr.cc\n@@ -90,6 +90,8 @@ static tree\n get_scalar_to_descriptor_type (tree scalar, symbol_attribute attr)\n {\n   enum gfc_array_kind akind;\n+  tree *lbound = NULL, *ubound = NULL;\n+  int codim = 0;\n \n   if (attr.pointer)\n     akind = GFC_ARRAY_POINTER_CONT;\n@@ -100,8 +102,16 @@ get_scalar_to_descriptor_type (tree scalar, symbol_attribute attr)\n \n   if (POINTER_TYPE_P (TREE_TYPE (scalar)))\n     scalar = TREE_TYPE (scalar);\n-  return gfc_get_array_type_bounds (TREE_TYPE (scalar), 0, 0, NULL, NULL, 1,\n-\t\t\t\t    akind, !(attr.pointer || attr.target));\n+  if (TYPE_LANG_SPECIFIC (TREE_TYPE (scalar)))\n+    {\n+      struct lang_type *lang_specific = TYPE_LANG_SPECIFIC (TREE_TYPE (scalar));\n+      codim = lang_specific->corank;\n+      lbound = lang_specific->lbound;\n+      ubound = lang_specific->ubound;\n+    }\n+  return gfc_get_array_type_bounds (TREE_TYPE (scalar), 0, codim, lbound,\n+\t\t\t\t    ubound, 1, akind,\n+\t\t\t\t    !(attr.pointer || attr.target));\n }\n \n tree\n@@ -781,11 +791,43 @@ gfc_get_vptr_from_expr (tree expr)\n   return NULL_TREE;\n }\n \n+static void\n+copy_coarray_desc_part (stmtblock_t *block, tree dest, tree src)\n+{\n+  tree src_type = TREE_TYPE (src);\n+  if (TYPE_LANG_SPECIFIC (src_type) && TYPE_LANG_SPECIFIC (src_type)->corank)\n+    {\n+      struct lang_type *lang_specific = TYPE_LANG_SPECIFIC (src_type);\n+      for (int c = 0; c < lang_specific->corank; ++c)\n+\t{\n+\t  int dim = lang_specific->rank + c;\n+\t  tree codim = gfc_rank_cst[dim];\n+\n+\t  if (lang_specific->lbound[dim])\n+\t    gfc_conv_descriptor_lbound_set (block, dest, codim,\n+\t\t\t\t\t    lang_specific->lbound[dim]);\n+\t  else\n+\t    gfc_conv_descriptor_lbound_set (\n+\t      block, dest, codim, gfc_conv_descriptor_lbound_get (src, codim));\n+\t  if (dim + 1 < lang_specific->corank)\n+\t    {\n+\t      if (lang_specific->ubound[dim])\n+\t\tgfc_conv_descriptor_ubound_set (block, dest, codim,\n+\t\t\t\t\t\tlang_specific->ubound[dim]);\n+\t      else\n+\t\tgfc_conv_descriptor_ubound_set (\n+\t\t  block, dest, codim,\n+\t\t  gfc_conv_descriptor_ubound_get (src, codim));\n+\t    }\n+\t}\n+    }\n+}\n+\n void\n gfc_class_array_data_assign (stmtblock_t *block, tree lhs_desc, tree rhs_desc,\n \t\t\t     bool lhs_type)\n {\n-  tree tmp, tmp2, type;\n+  tree lhs_dim, rhs_dim, type;\n \n   gfc_conv_descriptor_data_set (block, lhs_desc,\n \t\t\t\tgfc_conv_descriptor_data_get (rhs_desc));\n@@ -796,15 +838,18 @@ gfc_class_array_data_assign (stmtblock_t *block, tree lhs_desc, tree rhs_desc,\n \t\t  gfc_conv_descriptor_dtype (rhs_desc));\n \n   /* Assign the dimension as range-ref.  */\n-  tmp = gfc_get_descriptor_dimension (lhs_desc);\n-  tmp2 = gfc_get_descriptor_dimension (rhs_desc);\n+  lhs_dim = gfc_get_descriptor_dimension (lhs_desc);\n+  rhs_dim = gfc_get_descriptor_dimension (rhs_desc);\n+\n+  type = lhs_type ? TREE_TYPE (lhs_dim) : TREE_TYPE (rhs_dim);\n+  lhs_dim = build4_loc (input_location, ARRAY_RANGE_REF, type, lhs_dim,\n+\t\t\tgfc_index_zero_node, NULL_TREE, NULL_TREE);\n+  rhs_dim = build4_loc (input_location, ARRAY_RANGE_REF, type, rhs_dim,\n+\t\t\tgfc_index_zero_node, NULL_TREE, NULL_TREE);\n+  gfc_add_modify (block, lhs_dim, rhs_dim);\n \n-  type = lhs_type ? TREE_TYPE (tmp) : TREE_TYPE (tmp2);\n-  tmp = build4_loc (input_location, ARRAY_RANGE_REF, type, tmp,\n-\t\t    gfc_index_zero_node, NULL_TREE, NULL_TREE);\n-  tmp2 = build4_loc (input_location, ARRAY_RANGE_REF, type, tmp2,\n-\t\t     gfc_index_zero_node, NULL_TREE, NULL_TREE);\n-  gfc_add_modify (block, tmp, tmp2);\n+  /* The corank dimensions are not copied by the ARRAY_RANGE_REF.  */\n+  copy_coarray_desc_part (block, lhs_desc, rhs_desc);\n }\n \n /* Takes a derived type expression and returns the address of a temporary\n@@ -920,6 +965,7 @@ gfc_conv_derived_to_class (gfc_se *parmse, gfc_expr *e, gfc_symbol *fsym,\n \t\t\t\t\t\t    gfc_expr_attr (e));\n \t      gfc_add_modify (&parmse->pre, gfc_conv_descriptor_dtype (ctree),\n \t\t\t      gfc_get_dtype (type));\n+\t      copy_coarray_desc_part (&parmse->pre, ctree, parmse->expr);\n \t      if (optional)\n \t\tparmse->expr = build3_loc (input_location, COND_EXPR,\n \t\t\t\t\t   TREE_TYPE (parmse->expr),\n",
    "prefixes": [
        "3/13"
    ]
}