get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2237911,
    "url": "http://patchwork.ozlabs.org/api/patches/2237911/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/ebd7aad6-8534-4c8b-b816-0dbba0d30a7e@baylibre.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": "<ebd7aad6-8534-4c8b-b816-0dbba0d30a7e@baylibre.com>",
    "list_archive_url": null,
    "date": "2026-05-13T14:50:49",
    "name": "[OpenMP,Fortran] PR122910 fix POINTER array mis-privatization",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "c25527debe09d07adadcfa49df0bdfc7633792c5",
    "submitter": {
        "id": 87913,
        "url": "http://patchwork.ozlabs.org/api/people/87913/?format=api",
        "name": "Chung-Lin Tang",
        "email": "cltang@baylibre.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/ebd7aad6-8534-4c8b-b816-0dbba0d30a7e@baylibre.com/mbox/",
    "series": [
        {
            "id": 504175,
            "url": "http://patchwork.ozlabs.org/api/series/504175/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=504175",
            "date": "2026-05-13T14:50:49",
            "name": "[OpenMP,Fortran] PR122910 fix POINTER array mis-privatization",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/504175/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2237911/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2237911/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=baylibre-com.20251104.gappssmtp.com\n header.i=@baylibre-com.20251104.gappssmtp.com header.a=rsa-sha256\n header.s=20251104 header.b=RJevebum;\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=baylibre-com.20251104.gappssmtp.com\n header.i=@baylibre-com.20251104.gappssmtp.com header.a=rsa-sha256\n header.s=20251104 header.b=RJevebum",
            "sourceware.org;\n dmarc=none (p=none dis=none) header.from=baylibre.com",
            "sourceware.org; spf=pass smtp.mailfrom=baylibre.com",
            "sourceware.org;\n arc=none smtp.remote-ip=2607:f8b0:4864:20::1032"
        ],
        "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 4gFxJS5RNCz1y5L\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 14 May 2026 00:52:23 +1000 (AEST)",
            "from vm01.sourceware.org (localhost [IPv6:::1])\n\tby sourceware.org (Postfix) with ESMTP id 81AB44BB5911\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 13 May 2026 14:52:21 +0000 (GMT)",
            "from mail-pj1-x1032.google.com (mail-pj1-x1032.google.com\n [IPv6:2607:f8b0:4864:20::1032])\n by sourceware.org (Postfix) with ESMTPS id 71F1B4BB588C\n for <gcc-patches@gcc.gnu.org>; Wed, 13 May 2026 14:50:55 +0000 (GMT)",
            "by mail-pj1-x1032.google.com with SMTP id\n 98e67ed59e1d1-36900945df5so463698a91.0\n for <gcc-patches@gcc.gnu.org>; Wed, 13 May 2026 07:50:55 -0700 (PDT)",
            "from [192.168.50.226] (112-104-14-82.adsl.dynamic.seed.net.tw.\n [112.104.14.82]) by smtp.gmail.com with ESMTPSA id\n 98e67ed59e1d1-368edf4d92asm3534926a91.8.2026.05.13.07.50.51\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Wed, 13 May 2026 07:50:52 -0700 (PDT)"
        ],
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 sourceware.org 81AB44BB5911",
            "OpenDKIM Filter v2.11.0 sourceware.org 71F1B4BB588C"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 71F1B4BB588C",
        "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 71F1B4BB588C",
        "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1778683855; cv=none;\n b=j+kwlpa+LiyyD1kGhuoZ1cHo45XUdu/vMamPZa+N/awsDIpp/x8o3Etah9jphLKTR9IQni7UfDCL1aCU9u/I7q+MRhTenwv3rbuJDix88L8FQb5zbtMv+YRYpQnjS0suYkj50wgLoazUrn7vnm/VbQJEqJVat3rKdcLPpUbkWPY=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1778683855; c=relaxed/simple;\n bh=azjtr4E1d93WLOtLwULU1G6XVaewg66tHTCz94QGAcU=;\n h=DKIM-Signature:Message-ID:Date:MIME-Version:To:From:Subject;\n b=ww8GcLIXW4d//cYLzr0pgeyN18szmIjB/h4I9axS6LgLwr1h7Z2X1giU7CEGoDiPswM+QXcBcmqnMetRGqtM1PTbr205FA0okovrx7kefHXQ1/lQ08YB28SwfUaGCc2eq4lZyXguZp3NYpZNEUBvPhYUASTyFbW9lsOAcRHABlg=",
        "ARC-Authentication-Results": "i=1; sourceware.org;\n dkim=pass (2048-bit key, unprotected)\n header.d=baylibre-com.20251104.gappssmtp.com\n header.i=@baylibre-com.20251104.gappssmtp.com header.a=rsa-sha256\n header.s=20251104 header.b=RJevebum",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=baylibre-com.20251104.gappssmtp.com; s=20251104; t=1778683853;\n x=1779288653;\n darn=gcc.gnu.org;\n h=subject:from:to:content-language:user-agent:mime-version:date\n :message-id:from:to:cc:subject:date:message-id:reply-to;\n bh=hFHwrrNuDIWxXNB81hI6CN6aBTIUjbTjpL+CTN0v8Kk=;\n b=RJevebumQYHUbQEH+7CBoovPsdSjTLlc5ORXrz8WqumqNMA4ZTNlfqewo2eDosqLuS\n MdlGL0WiCDdWPLnxQpQJijtPw2vIItABL5EsQM1WQCT/igrCQxGLQl4eATScQUV4mzkT\n LlC97QN9ArzC1p6AOdNk8w4SbzBBHgKwyx6YzWjUVW03rmwmlCFZURF5SPv3Bq+DOsyb\n fTCyxpMrAjoIuRN54CgQmZqSdZJN0IIfyzQgSGqWk+Z0MuHTnU2r0ysCdbWA+tFFLZH6\n Duqjc0OJDivKM0g9M4GnEME50rQ4zXWUUDaMKcl76A3EnIyX9st6FiHe6WcbUe3GckS4\n kIfQ==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1778683853; x=1779288653;\n h=subject:from:to:content-language:user-agent:mime-version:date\n :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=hFHwrrNuDIWxXNB81hI6CN6aBTIUjbTjpL+CTN0v8Kk=;\n b=DTwo2emS3sBVNe25aKddDybuaKtbU9H8YBfFiREdfJDWOWrdzGu2a6vAkQ5BjhceYs\n MN/z3vaTEnnrEy3d3TEK8Q6wOLfD2l7BmNRCzNhSAux4Fh5pW46rJUgmLHuZQ9sXDCmP\n 5qHhVThS/+ja6mAAaWcS/oYLjq0WGYuFr+iQ7r5RJQc4+9UHfOqHIeUDjV71s/1WuZKe\n sidGNfHsSDv2ycSAairTWW0B0IBf1VXrUKAAQkqxiFpxINQWx+d1irpSK+3fozj/50qb\n kFSHjMEIqrSvXnDKgZQaE1GKKZTAVTVWFEQrdq6mNAYDNnY4yPC9eqQLe30IfG4iYIx7\n VGRg==",
        "X-Gm-Message-State": "AOJu0YwyDCakLPhRAwA/E1oK11Bp/B7MF2AT5ES9NmX1RECeiTVNuCnJ\n YzMqV1ZVkIuwpsl9NaFDpiQBsSnxGPKLCwqyTm+AW3Pg+8weedXj+CrUdflkbz61Ef6bfgR+yGc\n vNQdOkKc=",
        "X-Gm-Gg": "Acq92OFd1DMzqQ7yiGfHgkWEBqezjH6tpg+0lvmMdHY32sfevZZLLQwF3t+UnI/WIpL\n 9XWiIs1eiBsk/vN00ICTfbKc4u5jm8ym4YfypXvZa1S2Z0W42aEChxpPT4oMOkWzzNlFxi3xeTb\n b8j1jKNQpYWm/t9HB9jdoOcdy80PdJJJEZTkxox4g6Z8zPfP+4WfbGUbziQGCFldwILjqgQz0Dx\n ONakSKRqK1n7a7BtMyqRO8olJbxlu9D5VAHr8pCY7Cx1G1FlEbymRdPqLQWFkZaZOCMSJZE+Xyz\n XN4PjNxGgBNWFT+7DSorvOLBwWxkdKylBrqQUIz49YwzALRbSuawMoh91re+g3KPmP5jFaT533Y\n UBrKU3JWEbNqOB4khtmOE4eTWN7MaYb9PV/XiqXxinFcGjIOtPKZZXTbCZH+poyzctUfsYwpZ/J\n RFty1yS79F0mfdrp30LoZ0L20BiHFkfvgF0W0pvFNyVRrDzN/9iOnnnM2c2Wk5s9/HqFUG1Yutt\n Dgk/El2",
        "X-Received": "by 2002:a17:90a:ce:b0:369:971:4883 with SMTP id\n 98e67ed59e1d1-36909714b92mr1195910a91.17.1778683853460;\n Wed, 13 May 2026 07:50:53 -0700 (PDT)",
        "Content-Type": "multipart/mixed; boundary=\"------------A3Oz0JNhL7LPO0g57WHluSag\"",
        "Message-ID": "<ebd7aad6-8534-4c8b-b816-0dbba0d30a7e@baylibre.com>",
        "Date": "Wed, 13 May 2026 22:50:49 +0800",
        "MIME-Version": "1.0",
        "User-Agent": "Mozilla Thunderbird",
        "Content-Language": "en-US",
        "To": "gcc-patches <gcc-patches@gcc.gnu.org>,\n Tobias Burnus <tburnus@baylibre.com>, gfortran <fortran@gcc.gnu.org>",
        "From": "Chung-Lin Tang <cltang@baylibre.com>",
        "Subject": "[PATCH, OpenMP, Fortran] PR122910 fix POINTER array mis-privatization",
        "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": "This patch fixes a case where POINTER attribute arrays are deep copied when not supposed to.\n\nThis creates a new langhook 'omp_array_data_privatize' to differentiate cases in certain\nplaces during omp-low.\n\nStill under final testing. Okay for mainline if everything passes?\n\nThanks,\nChung-Lin\n\ngcc/fortran/ChangeLog:\n\n        * f95-lang.cc (LANG_HOOKS_OMP_ARRAY_DATA_PRIVATIZE): Define as\n        gfc_omp_array_data_privatize.\n        * trans-openmp.cc (gfc_omp_array_data_privatize): New function.\n        * trans.h (gfc_omp_array_data_privatize): New declaration.\n\ngcc/ChangeLog:\n\n        * langhooks-def.h (LANG_HOOKS_OMP_ARRAY_DATA_PRIVATIZE): Define.\n        * langhooks.h (struct lang_hooks_for_decls): Define\n        omp_array_data_privatize hook.\n        * omp-low.cc (scan_sharing_clauses): Add new calls to\n        lang_hooks.decls.omp_array_data_privatize,\n        (lower_omp_target): Likewise.\n\nlibgomp/ChangeLog:\n\n        * testsuite/libgomp.fortran/pr122910.f90: New test.",
    "diff": "diff --git a/gcc/fortran/f95-lang.cc b/gcc/fortran/f95-lang.cc\nindex 45aab34865f..12ab1d251da 100644\n--- a/gcc/fortran/f95-lang.cc\n+++ b/gcc/fortran/f95-lang.cc\n@@ -135,6 +135,7 @@ gfc_get_sarif_source_language (const char *)\n #undef LANG_HOOKS_TYPE_FOR_SIZE\n #undef LANG_HOOKS_INIT_TS\n #undef LANG_HOOKS_OMP_ARRAY_DATA\n+#undef LANG_HOOKS_OMP_ARRAY_DATA_PRIVATIZE\n #undef LANG_HOOKS_OMP_ARRAY_SIZE\n #undef LANG_HOOKS_OMP_IS_ALLOCATABLE_OR_PTR\n #undef LANG_HOOKS_OMP_CHECK_OPTIONAL_ARGUMENT\n@@ -178,6 +179,7 @@ gfc_get_sarif_source_language (const char *)\n #define LANG_HOOKS_TYPE_FOR_SIZE\tgfc_type_for_size\n #define LANG_HOOKS_INIT_TS\t\tgfc_init_ts\n #define LANG_HOOKS_OMP_ARRAY_DATA\t\tgfc_omp_array_data\n+#define LANG_HOOKS_OMP_ARRAY_DATA_PRIVATIZE\tgfc_omp_array_data_privatize\n #define LANG_HOOKS_OMP_ARRAY_SIZE\t\tgfc_omp_array_size\n #define LANG_HOOKS_OMP_IS_ALLOCATABLE_OR_PTR\tgfc_omp_is_allocatable_or_ptr\n #define LANG_HOOKS_OMP_CHECK_OPTIONAL_ARGUMENT\tgfc_omp_check_optional_argument\ndiff --git a/gcc/fortran/trans-openmp.cc b/gcc/fortran/trans-openmp.cc\nindex b9c09d114b7..e64fa82a238 100644\n--- a/gcc/fortran/trans-openmp.cc\n+++ b/gcc/fortran/trans-openmp.cc\n@@ -176,6 +176,24 @@ gfc_omp_array_data (tree decl, bool type_only)\n   return decl;\n }\n \n+/* Returns true if it is an array descriptor where the data is to be copied\n+   and privatized.  Assumes the above 'omp_array_data' to already be true\n+   (hence the assertion of descriptor type here).  */\n+\n+bool\n+gfc_omp_array_data_privatize (tree decl)\n+{\n+  tree type = TREE_TYPE (decl);\n+\n+  if (POINTER_TYPE_P (type))\n+    type = TREE_TYPE (type);\n+\n+  gcc_assert (GFC_DESCRIPTOR_TYPE_P (type));\n+\n+  return (GFC_TYPE_ARRAY_AKIND (type) != GFC_ARRAY_POINTER\n+\t  && GFC_TYPE_ARRAY_AKIND (type) != GFC_ARRAY_POINTER_CONT);\n+}\n+\n /* Return the byte-size of the passed array descriptor. */\n \n tree\ndiff --git a/gcc/fortran/trans.h b/gcc/fortran/trans.h\nindex f97fefd2ac0..0bdee5820fd 100644\n--- a/gcc/fortran/trans.h\n+++ b/gcc/fortran/trans.h\n@@ -827,6 +827,7 @@ tree gfc_omp_call_is_alloc (tree);\n bool gfc_omp_is_allocatable_or_ptr (const_tree);\n tree gfc_omp_check_optional_argument (tree, bool);\n tree gfc_omp_array_data (tree, bool);\n+bool gfc_omp_array_data_privatize (tree);\n tree gfc_omp_array_size (tree, gimple_seq *);\n bool gfc_omp_privatize_by_reference (const_tree);\n enum omp_clause_default_kind gfc_omp_predetermined_sharing (tree);\ndiff --git a/gcc/langhooks-def.h b/gcc/langhooks-def.h\nindex fc409ec08b9..33a99266187 100644\n--- a/gcc/langhooks-def.h\n+++ b/gcc/langhooks-def.h\n@@ -263,6 +263,7 @@ extern tree lhd_unit_size_without_reusable_padding (tree);\n #define LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS NULL\n #define LANG_HOOKS_DECL_OK_FOR_SIBCALL\tlhd_decl_ok_for_sibcall\n #define LANG_HOOKS_OMP_ARRAY_DATA\thook_tree_tree_bool_null\n+#define LANG_HOOKS_OMP_ARRAY_DATA_PRIVATIZE hook_bool_tree_false\n #define LANG_HOOKS_OMP_ARRAY_SIZE\tlhd_omp_array_size\n #define LANG_HOOKS_OMP_IS_ALLOCATABLE_OR_PTR hook_bool_const_tree_false\n #define LANG_HOOKS_OMP_CHECK_OPTIONAL_ARGUMENT hook_tree_tree_bool_null\n@@ -305,7 +306,8 @@ extern tree lhd_unit_size_without_reusable_padding (tree);\n   LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS, \\\n   LANG_HOOKS_DECL_OK_FOR_SIBCALL, \\\n   LANG_HOOKS_OMP_ARRAY_DATA, \\\n-  LANG_HOOKS_OMP_ARRAY_SIZE, \\\n+  LANG_HOOKS_OMP_ARRAY_DATA_PRIVATIZE, \\\n+  LANG_HOOKS_OMP_ARRAY_SIZE,\t\t\\\n   LANG_HOOKS_OMP_IS_ALLOCATABLE_OR_PTR, \\\n   LANG_HOOKS_OMP_CHECK_OPTIONAL_ARGUMENT, \\\n   LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE, \\\ndiff --git a/gcc/langhooks.h b/gcc/langhooks.h\nindex 6eb5c1602f8..aa983165ab5 100644\n--- a/gcc/langhooks.h\n+++ b/gcc/langhooks.h\n@@ -243,6 +243,10 @@ struct lang_hooks_for_decls\n      is true, only the TREE_TYPE is returned without generating a new tree.  */\n   tree (*omp_array_data) (tree, bool);\n \n+  /* Return true if the data of an array descriptor is to be copied and\n+     privatized.  Assumes omp_array_data returns non-NULL_TREE.  */\n+  bool (*omp_array_data_privatize) (tree);\n+\n   /* Return a tree for the actual data of an array descriptor - or NULL_TREE\n      if original tree is not an array descriptor.  If the second argument\n      is true, only the TREE_TYPE is returned without generating a new tree.  */\ndiff --git a/gcc/omp-low.cc b/gcc/omp-low.cc\nindex b93012107f1..79228b6350a 100644\n--- a/gcc/omp-low.cc\n+++ b/gcc/omp-low.cc\n@@ -1443,7 +1443,8 @@ scan_sharing_clauses (tree clauses, omp_context *ctx)\n \t  if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_FIRSTPRIVATE\n \t      && is_gimple_omp_offloaded (ctx->stmt)\n \t      && !is_gimple_omp_oacc (ctx->stmt)\n-\t      && lang_hooks.decls.omp_array_data (decl, true))\n+\t      && lang_hooks.decls.omp_array_data (decl, true)\n+\t      && lang_hooks.decls.omp_array_data_privatize (decl))\n \t    {\n \t      install_var_field (decl, false, 16 | 3, ctx);\n \t      install_var_field (decl, true, 8 | 3, ctx);\n@@ -13046,7 +13047,8 @@ lower_omp_target (gimple_stmt_iterator *gsi_p, omp_context *ctx)\n \t  }\n \t  /* Fortran array descriptors: firstprivate of data + attach.  */\n \t  if (OMP_CLAUSE_CODE (c) != OMP_CLAUSE_HAS_DEVICE_ADDR\n-\t      && lang_hooks.decls.omp_array_data (var, true))\n+\t      && lang_hooks.decls.omp_array_data (var, true)\n+\t      && lang_hooks.decls.omp_array_data_privatize (var))\n \t    map_cnt += 2;\n \n       do_dtor:\n@@ -13725,7 +13727,8 @@ lower_omp_target (gimple_stmt_iterator *gsi_p, omp_context *ctx)\n \t\t\t\t    build_int_cstu (tkind_type, tkind));\n \t    /* Fortran array descriptors: firstprivate of data + attach.  */\n \t    if (OMP_CLAUSE_CODE (c) != OMP_CLAUSE_HAS_DEVICE_ADDR\n-\t\t&& lang_hooks.decls.omp_array_data (ovar, true))\n+\t\t&& lang_hooks.decls.omp_array_data (ovar, true)\n+\t\t&& lang_hooks.decls.omp_array_data_privatize (ovar))\n \t      {\n \t\ttree not_null_lb, null_lb, after_lb;\n \t\ttree var1, var2, size1, size2;\ndiff --git a/libgomp/testsuite/libgomp.fortran/pr122910.f90 b/libgomp/testsuite/libgomp.fortran/pr122910.f90\nnew file mode 100644\nindex 00000000000..6081dfa4ea9\n--- /dev/null\n+++ b/libgomp/testsuite/libgomp.fortran/pr122910.f90\n@@ -0,0 +1,23 @@\n+! { dg-do run { target { ! offload_device } } }\n+\n+program main\n+  implicit none\n+\n+  !$omp requires self_maps\n+\n+  integer :: i\n+  INTEGER, POINTER :: fptr(:)\n+  integer, parameter :: N = 5\n+\n+  ALLOCATE(fptr(N))\n+  fptr = 0\n+\n+  !$omp target firstprivate(fptr)\n+  DO i=1, N\n+     fptr(i) = 5*i\n+  END DO\n+  !$omp end target\n+\n+  if (any (fptr /= 5*[1,2,3,4,5])) stop 1\n+\n+end program\n",
    "prefixes": [
        "OpenMP",
        "Fortran"
    ]
}