get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2218170,
    "url": "http://patchwork.ozlabs.org/api/patches/2218170/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/acvY1LIx-rYjrb0W@arm.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": "<acvY1LIx-rYjrb0W@arm.com>",
    "list_archive_url": null,
    "date": "2026-03-31T14:23:16",
    "name": "[4/4] c++: Extend fix for PR122483 to C++ frontend [PR122483]",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "3a3916016d730413cfc8115e793d32f3019b7c35",
    "submitter": {
        "id": 79039,
        "url": "http://patchwork.ozlabs.org/api/people/79039/?format=api",
        "name": "Alex Coplan",
        "email": "Alex.Coplan@arm.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/acvY1LIx-rYjrb0W@arm.com/mbox/",
    "series": [
        {
            "id": 498209,
            "url": "http://patchwork.ozlabs.org/api/series/498209/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=498209",
            "date": "2026-03-31T14:20:57",
            "name": "aarch64, c-family: Stronger type checking for target attrs [PR122483]",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/498209/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2218170/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2218170/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=arm.com header.i=@arm.com header.a=rsa-sha256\n header.s=selector1 header.b=CICYS9+0;\n\tdkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com\n header.a=rsa-sha256 header.s=selector1 header.b=CICYS9+0;\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 (1024-bit key,\n unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256\n header.s=selector1 header.b=CICYS9+0;\n\tdkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com\n header.a=rsa-sha256 header.s=selector1 header.b=CICYS9+0",
            "sourceware.org;\n dmarc=pass (p=none dis=none) header.from=arm.com",
            "sourceware.org; spf=pass smtp.mailfrom=arm.com",
            "server2.sourceware.org;\n arc=pass smtp.remote-ip=52.101.72.62"
        ],
        "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 4flVpS5lZtz1yGH\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 01 Apr 2026 01:28:16 +1100 (AEDT)",
            "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id B8FCB4B1A342\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 31 Mar 2026 14:28:14 +0000 (GMT)",
            "from AM0PR02CU008.outbound.protection.outlook.com\n (mail-westeuropeazon11013062.outbound.protection.outlook.com [52.101.72.62])\n by sourceware.org (Postfix) with ESMTPS id 0CAD14B920B9;\n Tue, 31 Mar 2026 14:24:34 +0000 (GMT)",
            "from DU2PR04CA0354.eurprd04.prod.outlook.com (2603:10a6:10:2b4::7)\n by PAXPR08MB6702.eurprd08.prod.outlook.com (2603:10a6:102:134::19) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.28; Tue, 31 Mar\n 2026 14:24:28 +0000",
            "from DB5PEPF00014B8E.eurprd02.prod.outlook.com\n (2603:10a6:10:2b4:cafe::f3) by DU2PR04CA0354.outlook.office365.com\n (2603:10a6:10:2b4::7) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9745.28 via Frontend Transport; Tue,\n 31 Mar 2026 14:24:28 +0000",
            "from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by\n DB5PEPF00014B8E.mail.protection.outlook.com (10.167.8.202) with Microsoft\n SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9745.21\n via Frontend Transport; Tue, 31 Mar 2026 14:24:27 +0000",
            "from PAWPR08MB8958.eurprd08.prod.outlook.com (2603:10a6:102:33e::15)\n by DBBPR08MB6299.eurprd08.prod.outlook.com (2603:10a6:10:20d::16)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.28; Tue, 31 Mar\n 2026 14:23:19 +0000",
            "from PAWPR08MB8958.eurprd08.prod.outlook.com\n ([fe80::c522:a3f1:1566:2377]) by PAWPR08MB8958.eurprd08.prod.outlook.com\n ([fe80::c522:a3f1:1566:2377%4]) with mapi id 15.20.9745.027; Tue, 31 Mar 2026\n 14:23:19 +0000"
        ],
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 sourceware.org B8FCB4B1A342",
            "OpenDKIM Filter v2.11.0 sourceware.org 0CAD14B920B9"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 0CAD14B920B9",
        "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 0CAD14B920B9",
        "ARC-Seal": [
            "i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1774967074; cv=pass;\n b=WRfIji1prAS2lcN2MtZLn5lqWVmklrFQOy44K/F8C0ts0++xF/3kQXamVcPVQfpp9Xu1zBLNOQx21Mc1LxPXoSwYNAt/biT8Vqjh5uIFG+HfZLKxOqDXKlZctg0he8eJsqCr2gMculxj2YLY9PK8oQh1ENzi/sFskeZuX1aO5kI=",
            "i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;\n b=o1bBj3NMIheDynwUSdoCcJdCi5LNZM2MEWQbMa/gbZZdH5ygdpJf/EvnvnOqXTxsvLvwkjDCeNQJAUmkD+f4cKjWNtKTwkEdWGo5FRx2mf7+oljqp3+XIRshmzl5TQ0okDyiSzR1ci5TXtEa6QLtWJMYzC1RXM3uaj9QV5PiIYis/8nkh6xcpDQFwWuj0wfLuTqsye9iLItbHd2yyL9vM4kRGXUlHH5gflXR+YGuVQEGYLWaSX7Lw87BUkMmqYmsen2lF0vkqVob7imHz6ETuT3W0ykyxqszVYj5H3U3MMQI6/LGC1gAyQZWjpNmKtavI2bfgrI4lvhK/kfg7IF3HQ==",
            "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=OS8CxNQYCKsEDQh43giqQtpHXRtud3ju5NCcKZ+q89vxd6BJ58lJYeu1AsQZu5sxWwb/ihRNcNe0TZNPFkKYh25guty8K8SyT20FZCERWz+VC43PlfKdb9dDBmoMGnst0dcHOzcyUuoc7jGBsUCZoUzxjYo6xHaBGUK3pXCtkM8LH4CbL2/A8onq3tA97wu7RI58pBFrHnNGH4nv2qOeXQpp1iKy466QbtBc728WF5lTQXj5bRZFSmCE7UADbAOnSPhyuMCYbcZWgWlX4PJ4NTmuBGn/ddrSLyui2XWFAdWJWHqx+fB4658gAB2jBWe+v6ky6h9wQ0N+iDRlBJ55fg=="
        ],
        "ARC-Message-Signature": [
            "i=3; a=rsa-sha256; d=sourceware.org; s=key;\n t=1774967074; c=relaxed/simple;\n bh=pgiL2X/X6oJZpDNA2HXw8zgF+0MCoQIF3PyP1EurfLw=;\n h=DKIM-Signature:DKIM-Signature:Date:From:To:Subject:Message-ID:\n MIME-Version;\n b=e9fpZpNQoK+ZOhCeT826kGDV6/PVMdqkVarsjx02736k/lP9wvwLuck/shGj7vYuvux2TI4fe9j40UbeoRq7Br/TXBfBATJYC87t3wNVJNvkEI7mFL/BQs8mBd6F9ejgU2BFfiu7UF4XnckLYXwgqFHRtIsYCYVahuaRjHAzV2E=",
            "i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=EkXsS8k9icvOK2or+X5dVvkHj50ORgtoCUA+96Zxw/o=;\n b=Cl8K2iFpYf1LN+bVQBN5pGXNEyqDIG2QFp3dl7pc08UFxrbYKJ9VVMMMIHE9za2DAehkPfFGZ13MiBMABooF2sU9Ui6PZw7eWPgCkcZQRNzoJ1MUBaPsWAFUVlctVe6TXII7yDgz/lAVHxTYsjpKMmHUITWt5tDMH2AixN2/LYy3CZsG76V2H9kZjQeRD3l9DAxEx4db/mphQd7KLi54C5TzQf93JdNjF/m1y2wNIp8wBOtsD3SWVwo9R3XhyvRjmWuE51dLFdPoLqZswdcKEPC/X9mbHp+AKJJGJ8vgts5gdW0y10q4fVp//VM7sQsG1H+mOfdnbEHlAgEc3T50aQ==",
            "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=EkXsS8k9icvOK2or+X5dVvkHj50ORgtoCUA+96Zxw/o=;\n b=IFn3aoKqXnRDEhc/EfwBIBwXdz0p5WZImTXd3e6z2g75mtOql1HpwAyj31qslUYQgRWaxz7OZqhG8mYb2Dz4UtTzSIfC70tpLnOg24QpaVA7ec2VA7/cK/yKwfIhAHOKi0U+Ez49BBetZEBac8Za79c6aTjABeBWMORsksMwz4AWcOh4AnHD/vBx2uiMzM8ck6SfIm1dEHBDjCc+VkKw6skxy5R8WANp4ZVZqswYTo1OLKUAf8QO+1mnrLQ5U1E0vPDmYh8MPd0jvwetPRa6o4Mtuoyix3X2JSFe3/1IM5HCRsUahn7Afsk/yAa9jw8GM5nAy7/OKo8Spq1S5NNH+g=="
        ],
        "ARC-Authentication-Results": [
            "i=3; server2.sourceware.org",
            "i=2; mx.microsoft.com 1; spf=pass (sender ip is\n 4.158.2.129) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass\n (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass\n (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1\n spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]\n dmarc=[1,1,header.from=arm.com])",
            "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass\n header.d=arm.com; arc=none"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=EkXsS8k9icvOK2or+X5dVvkHj50ORgtoCUA+96Zxw/o=;\n b=CICYS9+05m7+B+GgOEf2y4k40e/1msFN1Fef8nJTyT/tJbJVlAM7KEk3wwQRLP/+yxoUO6/bGV10tCFbVQcoLNEofLKVgpII2OzpZScGn9m+blcxXgAwr9WU7wbYgD9Vv4kQdmzjVko9rZX/ioEZWsSbiYehvSg2O1HALXZ0p5M=",
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=EkXsS8k9icvOK2or+X5dVvkHj50ORgtoCUA+96Zxw/o=;\n b=CICYS9+05m7+B+GgOEf2y4k40e/1msFN1Fef8nJTyT/tJbJVlAM7KEk3wwQRLP/+yxoUO6/bGV10tCFbVQcoLNEofLKVgpII2OzpZScGn9m+blcxXgAwr9WU7wbYgD9Vv4kQdmzjVko9rZX/ioEZWsSbiYehvSg2O1HALXZ0p5M="
        ],
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 4.158.2.129)\n smtp.mailfrom=arm.com; dkim=pass (signature was verified)\n header.d=arm.com;dmarc=pass action=none header.from=arm.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of arm.com designates\n 4.158.2.129 as permitted sender) receiver=protection.outlook.com;\n client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C",
        "Authentication-Results-Original": "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=arm.com;",
        "Date": "Tue, 31 Mar 2026 15:23:16 +0100",
        "From": "Alex Coplan <alex.coplan@arm.com>",
        "To": "gcc-patches@gcc.gnu.org",
        "Cc": "Jason Merrill <jason@redhat.com>, Nathan Sidwell <nathan@acm.org>,\n Patrick Palka <ppalka@gcc.gnu.org>,\n Alice Carlotti <alice.carlotti@arm.com>,\n Richard Sandiford <rdsandiford@googlemail.com>,\n Richard Earnshaw <richard.earnshaw@arm.com>,\n Tamar Christina <tamar.christina@arm.com>,\n Kyrylo Tkachov <ktkachov@nvidia.com>,\n Andrew Pinski <andrew.pinski@oss.qualcomm.com>,\n Wilco Dijkstra <wilco.dijkstra@arm.com>",
        "Subject": "[PATCH 4/4] c++: Extend fix for PR122483 to C++ frontend [PR122483]",
        "Message-ID": "<acvY1LIx-rYjrb0W@arm.com>",
        "Content-Type": "multipart/mixed; boundary=\"y6AXtS22IFlVTwuA\"",
        "Content-Disposition": "inline",
        "Content-Transfer-Encoding": "8bit",
        "X-ClientProxiedBy": "LO4P265CA0001.GBRP265.PROD.OUTLOOK.COM\n (2603:10a6:600:2ad::14) To PAWPR08MB8958.eurprd08.prod.outlook.com\n (2603:10a6:102:33e::15)",
        "MIME-Version": "1.0",
        "X-MS-TrafficTypeDiagnostic": "\n PAWPR08MB8958:EE_|DBBPR08MB6299:EE_|DB5PEPF00014B8E:EE_|PAXPR08MB6702:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "63464ab1-b949-4c06-d46d-08de8f313778",
        "x-checkrecipientrouted": "true",
        "NoDisclaimer": "true",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam-Untrusted": "BCL:0;\n ARA:13230040|1800799024|6049299003|376014|366016|56012099003|18002099003|4053099003;",
        "X-Microsoft-Antispam-Message-Info-Original": "\n IW9OqI3C3sqdXjCIDBGBGrssH01BJNnds+E2m2YuuWpiQLuHGFcHqky7O29c8XfIvWIE0Mjv7ZlYBbllX8YA9bnObls+XZIRhXF10KKjl58Swe+ABsI0Qd9pZ9LER5WwKIn+h/72Atp0CF+6VPuPDDaFnVybrPzA8xbniWqxtgwfnGy/s4PcitbsG0a/XAgJ8beu4YJYVNal2bnQTWE6wT6hoNfIQ+r8hOdmUUhM/i5/QgTUFpf+0l+e+NvoRYUOvcvbH+FQOvM6m2v+4BjcTJ/n4MELPyppXBn7ClKxhIXh/VgZHRH8lmYIhoegbP47e+gqx+tOppuB9M08xe+O5eQLXjVh2alU2LQrlysEPaM2ClEi2sj78I+M2qbcAkIdgShkL2mrtaQyk1MG+UwWv/nliiWIXLAO5PlPyvo6Sfs+VwxL1x56DRTc3Vir9w8scYrk3vMYjAmOf3JQedeLf0TtkuFgctx4vp82gJlzlba+UJnGkzvvN5ZMJ8uRGNmelqR7at2oX/F8KEdk3pzVnTvUQNVFEe+yQ2IllAcpacFVZKxXraxrd5DZYlHzx9DNTgNnlhjSEDZ+u9F3cHMdXDvwfofBw7GpusZARQcGv2/ZePpgfEAXAQ8aCP5n3piKRe4IhsNfdfh3ARVnZMelJ3AAhRDRzGPu/XyxDezcrJPVm8r9+Vm3AZjhqAWqf8Nh",
        "X-Forefront-Antispam-Report-Untrusted": "CIP:255.255.255.255; CTRY:; LANG:en;\n SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAWPR08MB8958.eurprd08.prod.outlook.com;\n PTR:; CAT:NONE;\n SFS:(13230040)(1800799024)(6049299003)(376014)(366016)(56012099003)(18002099003)(4053099003);\n DIR:OUT; SFP:1101;",
        "X-Exchange-RoutingPolicyChecked": "\n ZKjnxIrDs+cS99D2L4ukQ1I8K8hKIMStW6EVCNAyJeBZ3tSVrKOJVzSys14eSfL3QD9+XK81ruUG8+itXMxIbvbKlxB3G5wTJyfb62r98OibW0wDZ2Ymrl6w5Klkuwww3NgAnKcIrVMT+SyonVe4xGWlOz/4UA1lHMgHYxfM2ad4UyXDjCzl0oQtnaUQFRo3Qr3orhcfdu2ywwwnowgO6nuEkR6tcoIYOwAzR4PAgzXAu1d8RRn9efwJfRqNDrM8nhs2hZ5Oe8HXXyLnCIrxtMhKgsxhHSGuNvmSStnd/BHnyIMswcBniXiwY07uBlMG1F+w/0AOtCRNcSKbn2jCtA==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": [
            "DBBPR08MB6299",
            "PAXPR08MB6702"
        ],
        "X-EOPAttributedMessage": "0",
        "X-MS-Exchange-Transport-CrossTenantHeadersStripped": "\n DB5PEPF00014B8E.eurprd02.prod.outlook.com",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id-Prvs": "\n 5c1d51d1-6e6e-43dc-927d-08de8f310e51",
        "X-Microsoft-Antispam": "BCL:0;\n ARA:13230040|35042699022|6049299003|82310400026|36860700016|1800799024|376014|14060799003|4053099003|18002099003|56012099003;",
        "X-Microsoft-Antispam-Message-Info": "\n X9SWg8EOFOVzMh+7MP9vNXO3+BtvJjMxl/8kixpcI9Izq9LunsdljRQthqA0sfD+e4Rrll8APp2jCNmpHcn1EU33ZkWNLln6IWeR4oqv25eDBMw/StwPBcmBAzAZJBucwHM9slDjTbbf7b2UUEhdSufrWBIrFU+7xtEpa3/s2NM38tr3MSLo6T9dhZHuq2bMHzHEcixJuwc1n8XdCdUnF3UbjYZBBPsur09lgsO5vtZcnjWepYBYK7jx96os+8OjGsZqh+9SiynJtjQkNRRCXNWEOJrRFDQL8s0xAJIvuDvgYvB0vkVG1BP+dXiTydkwxRWZ2sAAbGRxjUrGyr7xMzWz6kNPZ64UsJ1ZuC04iWKtSb0QerMJfMXjEJmzWqyVl3r9ogpeKFcwdMcVdfZuJmkLf3FaocBgjA82i+bbiVhsPVPnxY2OCVCLY5+3iIjKWe2+k+oI9agaOtqiSZQmMgFD/9vyfH+cw7+GrgNDYZZ1Ce5/I0/5d+eHTchQyjKfKbJMHpG76JquafE26Kjkh1t7840X4Uc4X9EbJjcUVqh+g0oO3NY/5SiyTK4v0gJ5qB43wrGDuG/krL3+lVBHTOsI0OHbpsQexRi+nYmR7fazzy6+pCp4AvN81kV4M+7ON+QGWR1jjB89chFmLiWlZnBE74J0mthfyBj/PB+nEoqwKP56NDfygMuXQ/b/2YVyghqztFxqMISnKBOw0HT3R8lCubZrrUSIDhWERFMxIAZfywkaHHGpWzpRR05JMvjTSbUhD2pKt7jIkIlBlccBOQ==",
        "X-Forefront-Antispam-Report": "CIP:4.158.2.129; CTRY:GB; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:outbound-uk1.az.dlp.m.darktrace.com;\n PTR:InfoDomainNonexistent; CAT:NONE;\n SFS:(13230040)(35042699022)(6049299003)(82310400026)(36860700016)(1800799024)(376014)(14060799003)(4053099003)(18002099003)(56012099003);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n PiAEACzi/9iS5A3Rypr3ojFLyVjn//beBXZhiPabDpLvnjCGBNCZA1QGdrxaP9IOI0IiEtvmPU1ZosSboIZudkuvfq0assqfJmzx1sqs0nQlCiSZnVziPg7hz3IINlgHzVhM4us4npnb1u8aSvV/7KJUYT+U1W2aarQJGkuhIF/3BBCXNdFhocmrKpxwptGUx6XNSF0aViSROP5CWMrb8y9QirF+sey57nHQDraeVlgiyuKD+fdl/Sz/yU6RpqaubZAZFG2XueWWHJ4vg9Adi/4mrvzp12q+112C5ppyDES378FY0jmKfRkLlUZ+t1zliI9ViipQrq3Y57mN6U7qFOJVKIahafNTBeqRgizoTq0XpQW+HKQU9jElaWGAbHgrT87UTrK/LNhNWBFDrtBZA2LeLvbUIk+71SxET7WY2JKJcMPd7uAuh4ODngkQl7WA",
        "X-OriginatorOrg": "arm.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "31 Mar 2026 14:24:27.8877 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 63464ab1-b949-4c06-d46d-08de8f313778",
        "X-MS-Exchange-CrossTenant-Id": "f34e5979-57d9-4aaa-ad4d-b122a662184d",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[4.158.2.129];\n Helo=[outbound-uk1.az.dlp.m.darktrace.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n DB5PEPF00014B8E.eurprd02.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "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 extends the C frontend fix for PR122483 to the C++ frontend.\nThis means that if we have subsequent decls D1 and D2 with the same name\nand signature, D1 having TYPE_ATTRIBUTES and D2 having none, then we\nprevent merging of the decls if any of the TYPE_ATTRIBUTES are\ntarget-specific and have affects_type_identity set, provided\nTARGET_STRONG_AFFECTS_TYPE_IDENTITY_P returns true.\n\nThe motivation is to reject code such as:\n\n  void f() [[arm::streaming]];\n  void f();\n\non aarch64, as the function declarations are incompatible due to the\ndifferent ABI requirements.\n\nUnlike the previous patches in this series, this isn't necessary to fix\nthe P1 regression (as the regression was only in the C frontend), so I\nthink this one can probably wait for stage 1.\n\nBootstrapped/regtested as a series on aarch64-linux-gnu and\nx86_64-linux-gnu, OK for stage 1?  Or OK for trunk now?\n\nThanks,\nAlex\n\ngcc/cp/ChangeLog:\n\n\tPR target/122483\n\t* decl.cc (decls_match): Use decl_can_inherit_type_attributes_p\n\tto decide whether to return true in cases where olddecl has\n\tTYPE_ATTRIBUTES and newdecl has none.\n\ngcc/testsuite/ChangeLog:\n\n\tPR target/122483\n\t* g++.target/aarch64/sme/streaming_mode_1.C: Remove xfails, add\n\ttwo missing dg-errors.\n\t* g++.target/aarch64/pr122483.C: New test.\n---\n gcc/cp/decl.cc                                   | 16 ++++++++++------\n gcc/testsuite/g++.target/aarch64/pr122483.C      |  8 ++++++++\n .../g++.target/aarch64/sme/streaming_mode_1.C    | 14 +++++++-------\n 3 files changed, 25 insertions(+), 13 deletions(-)\n create mode 100644 gcc/testsuite/g++.target/aarch64/pr122483.C",
    "diff": "diff --git a/gcc/cp/decl.cc b/gcc/cp/decl.cc\nindex 74099c34348..c78598239a3 100644\n--- a/gcc/cp/decl.cc\n+++ b/gcc/cp/decl.cc\n@@ -1309,12 +1309,16 @@ decls_match (tree newdecl, tree olddecl, bool record_versions /* = true */)\n \t\tTREE_TYPE (newdecl) = TREE_TYPE (olddecl);\n \t    }\n \t  else\n-\t    types_match =\n-\t      compparms (p1, p2)\n-\t      && type_memfn_rqual (f1) == type_memfn_rqual (f2)\n-\t      && (TYPE_ATTRIBUTES (TREE_TYPE (newdecl)) == NULL_TREE\n-\t          || comp_type_attributes (TREE_TYPE (newdecl),\n-\t\t\t\t\t   TREE_TYPE (olddecl)) != 0);\n+\t    {\n+\t      tree attrs = TYPE_ATTRIBUTES (TREE_TYPE (olddecl));\n+\t      types_match\n+\t\t= compparms (p1, p2)\n+\t\t  && type_memfn_rqual (f1) == type_memfn_rqual (f2)\n+\t\t  && ((TYPE_ATTRIBUTES (TREE_TYPE (newdecl)) == NULL_TREE\n+\t\t      && decl_can_inherit_type_attributes_p (attrs))\n+\t\t      || comp_type_attributes (TREE_TYPE (newdecl),\n+\t\t\t\t\t       TREE_TYPE (olddecl)) != 0);\n+\t    }\n \t}\n       else\n \ttypes_match = 0;\ndiff --git a/gcc/testsuite/g++.target/aarch64/pr122483.C b/gcc/testsuite/g++.target/aarch64/pr122483.C\nnew file mode 100644\nindex 00000000000..89f21cce2fc\n--- /dev/null\n+++ b/gcc/testsuite/g++.target/aarch64/pr122483.C\n@@ -0,0 +1,8 @@\n+// { dg-do compile }\n+// This test defends the behaviour for the non-SME cases of PR122483.\n+\n+void f1() __attribute__((aarch64_vector_pcs));\n+void f1(); // { dg-error \"ambiguating new declaration\" }\n+\n+void f2() __attribute__((preserve_none));\n+void f2(); // { dg-error \"ambiguating new declaration\" }\ndiff --git a/gcc/testsuite/g++.target/aarch64/sme/streaming_mode_1.C b/gcc/testsuite/g++.target/aarch64/sme/streaming_mode_1.C\nindex c3de726e726..b7e95908018 100644\n--- a/gcc/testsuite/g++.target/aarch64/sme/streaming_mode_1.C\n+++ b/gcc/testsuite/g++.target/aarch64/sme/streaming_mode_1.C\n@@ -1,19 +1,19 @@\n // { dg-options \"\" }\n \n void sc_a () [[arm::streaming_compatible]];\n-void sc_a (); // { dg-error \"ambiguating new declaration\" \"\" { xfail *-*-* } }\n+void sc_a (); // { dg-error \"ambiguating new declaration\" \"\" }\n \n void sc_b ();\n void sc_b () [[arm::streaming_compatible]]; // { dg-error \"ambiguating new declaration\" }\n \n void sc_c () [[arm::streaming_compatible]];\n-void sc_c () {} // Inherits attribute from declaration (confusingly).\n+void sc_c () {} // { dg-error \"ambiguating new declaration\" \"\" }\n \n void sc_d ();\n void sc_d () [[arm::streaming_compatible]] {} // { dg-error \"ambiguating new declaration\" }\n \n void sc_e () [[arm::streaming_compatible]] {}\n-void sc_e (); // { dg-error \"ambiguating new declaration\" \"\" { xfail *-*-* } }\n+void sc_e (); // { dg-error \"ambiguating new declaration\" \"\" }\n \n void sc_f () {}\n void sc_f () [[arm::streaming_compatible]]; // { dg-error \"ambiguating new declaration\" }\n@@ -27,19 +27,19 @@ extern void (*sc_h) (); // { dg-error \"conflicting declaration\" }\n //----------------------------------------------------------------------------\n \n void s_a () [[arm::streaming]];\n-void s_a (); // { dg-error \"ambiguating new declaration\" \"\" { xfail *-*-* } }\n+void s_a (); // { dg-error \"ambiguating new declaration\" \"\" }\n \n void s_b ();\n void s_b () [[arm::streaming]]; // { dg-error \"ambiguating new declaration\" }\n \n void s_c () [[arm::streaming]];\n-void s_c () {} // Inherits attribute from declaration (confusingly).\n+void s_c () {} // { dg-error \"ambiguating new declaration\" \"\" }\n \n void s_d ();\n void s_d () [[arm::streaming]] {} // { dg-error \"ambiguating new declaration\" }\n \n void s_e () [[arm::streaming]] {}\n-void s_e (); // { dg-error \"ambiguating new declaration\" \"\" { xfail *-*-* } }\n+void s_e (); // { dg-error \"ambiguating new declaration\" \"\" }\n \n void s_f () {}\n void s_f () [[arm::streaming]]; // { dg-error \"ambiguating new declaration\" }\n@@ -118,7 +118,7 @@ void keyword_ok_5 () [[arm::streaming_compatible]];\n //----------------------------------------------------------------------------\n \n void keyword_contradiction_1 () __arm_streaming;\n-void keyword_contradiction_1 (); // { dg-error \"ambiguating new declaration\" \"\" { xfail *-*-* } }\n+void keyword_contradiction_1 (); // { dg-error \"ambiguating new declaration\" \"\" }\n \n void keyword_contradiction_2 ();\n void keyword_contradiction_2 () __arm_streaming; // { dg-error \"ambiguating new declaration\" }\n",
    "prefixes": [
        "4/4"
    ]
}