Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.1/patches/2220909/?format=api
{ "id": 2220909, "url": "http://patchwork.ozlabs.org/api/1.1/patches/2220909/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/adZC-AeasauTTf_U@arm.com/", "project": { "id": 17, "url": "http://patchwork.ozlabs.org/api/1.1/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 }, "msgid": "<adZC-AeasauTTf_U@arm.com>", "date": "2026-04-08T11:58:48", "name": "aarch64, testsuite: Extend SME attribute tests [PR122483]", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "4aab9e8e5ddee45c05cf175516e9f17499d52f86", "submitter": { "id": 79039, "url": "http://patchwork.ozlabs.org/api/1.1/people/79039/?format=api", "name": "Alex Coplan", "email": "Alex.Coplan@arm.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/adZC-AeasauTTf_U@arm.com/mbox/", "series": [ { "id": 499128, "url": "http://patchwork.ozlabs.org/api/1.1/series/499128/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=499128", "date": "2026-04-08T11:58:48", "name": "aarch64, testsuite: Extend SME attribute tests [PR122483]", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/499128/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2220909/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2220909/checks/", "tags": {}, "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=TUrI8cgj;\n\tdkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com\n header.a=rsa-sha256 header.s=selector1 header.b=TUrI8cgj;\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=TUrI8cgj;\n\tdkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com\n header.a=rsa-sha256 header.s=selector1 header.b=TUrI8cgj", "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=40.107.162.71" ], "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 4frM8W069qz1xv0\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 08 Apr 2026 22:00:41 +1000 (AEST)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 946DC4B9DB6E\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 8 Apr 2026 12:00:39 +0000 (GMT)", "from PA4PR04CU001.outbound.protection.outlook.com\n (mail-francecentralazon11013071.outbound.protection.outlook.com\n [40.107.162.71])\n by sourceware.org (Postfix) with ESMTPS id B0C2A4BA23E1\n for <gcc-patches@gcc.gnu.org>; Wed, 8 Apr 2026 12:00:04 +0000 (GMT)", "from DU2P250CA0006.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:231::11)\n by DBAPR08MB5640.eurprd08.prod.outlook.com (2603:10a6:10:1a3::22) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.17; Wed, 8 Apr\n 2026 11:59:59 +0000", "from DB3PEPF0000885F.eurprd02.prod.outlook.com\n (2603:10a6:10:231:cafe::11) by DU2P250CA0006.outlook.office365.com\n (2603:10a6:10:231::11) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9769.32 via Frontend Transport; Wed,\n 8 Apr 2026 11:59:59 +0000", "from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by\n DB3PEPF0000885F.mail.protection.outlook.com (10.167.242.10) with Microsoft\n SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9769.17\n via Frontend Transport; Wed, 8 Apr 2026 11:59:58 +0000", "from PAWPR08MB8958.eurprd08.prod.outlook.com (2603:10a6:102:33e::15)\n by DU5PR08MB10775.eurprd08.prod.outlook.com (2603:10a6:10:528::18)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.20; Wed, 8 Apr\n 2026 11:58:51 +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.9769.018; Wed, 8 Apr 2026\n 11:58:51 +0000" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org 946DC4B9DB6E", "OpenDKIM Filter v2.11.0 sourceware.org B0C2A4BA23E1" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org B0C2A4BA23E1", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org B0C2A4BA23E1", "ARC-Seal": [ "i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1775649605; cv=pass;\n b=oXHyU0cnFNDKTtYW9uSFAJNj46MU7sTxAOq5Uw/UFKM5BZH4ejEvrlU3FitPlWnfYOFwDbkvdvKQ152MgBUW7ph5FTuDSBt6H7UeEwGeH+mr5tY2LayjJnhUsj9wP8p6sVp4aDPoHIfrydngVVQT/w/T5kIYb0+AFrYsomYzhAk=", "i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;\n b=NTqUW7DpBljt3n9V9EkAHPlDk7wLTAX1K+52euX85oVNWkWI7JzleHPvBjDksFFbsClN5de2kaf7Tzat7Z3CEtB+ymFRhS9m2UxdlKJwx7qJ0SkJXcP4bGINw+RZ/+dDqb5lmVhUJbQoiU2oBxiDljjXEgjsx4UI6JzEY0R5XdMOmM/11Uj5hRdgnnizfEZInyLoJluRX1VQ1KIbfP87Ebt0iv+iZtC2zxVTOEPslBb+5DfZt1Gr3EGT6giwW2XMK3DoqmjVwZH7vRrWtnvVXJ41IHLYv4jdq/JCSZTD8CLKHwgBEto4xwKACvXLWInEGvdEPOvL3IStyllevxWffQ==", "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=Kydg1htENob+J93MPx9jPRL2c6Y/5ljaLerb2c4r6A+fvBpJbjIo/zilUpXcE94bZNu+7KVJ/2zew8dGgXo+B00vO2xhDhTren4f4U1QKjnpRPQx/m5WJyfi9uGTem7JjdQCSq2zNlV2dIqQWWpdLTn/JNxM2GSND9ZXCG7O2LlOdg1yi2dQowfLrioJMp/FOe6wYxvSnEWz/Xl9sxOowATdS19hKeKNJ/UiPxXsEP/X+FEG8lF486FWf2eSjTaDwNrYKkWB6ifLg28n8J0h4uaXk1cJOU04uOAxXQj/abeQq/8YE2XOPrThOlIzwUcsXYrlMGsJawQh6DGyPLdQQQ==" ], "ARC-Message-Signature": [ "i=3; a=rsa-sha256; d=sourceware.org; s=key;\n t=1775649605; c=relaxed/simple;\n bh=UnaQZWnObzRlmBeskXEW9cH4pV/k9DaYW/TSWB8vWP0=;\n h=DKIM-Signature:DKIM-Signature:Date:From:To:Subject:Message-ID:\n MIME-Version;\n b=Tf2ywIiXdH3vmW8A9Lgvy+pId8c/WzjpcrvjmFQSdWarfUQu+5y1dil13IG+/9TUDQtEyd7iBF3RvIbx59QB+Mxh7OukQemRzKmRqfWUbsHlivGriKNFtTsDY52U682v4KlwBC3aHEcWuV3EM/9BqadGL2GWDPxU7zPGPNhcBF4=", "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=E29mn7tp4RBLFT6TXecsgLF1LcrsBilxdLCQn0jGCbY=;\n b=BtTCYDs9xEQ/d63Hsll8fquWe6Z4V7jedSNyqY2NzJWiBbW2HLdduNUt4OpaulMIZIB7vFaQf9BeAtIM9ntQhY8wv1e7ftynTEk+FoQ3lwfDiODfcOnsqEA6xoPlBWKaFtKzOuONeRVa/gKTiWvQF4xvNEEIb5wK0bNC9XYGezTvKrm0HJDlMslf4du5E3kzh4dmztiHEZmVySsL2r57rHMEg4Ru1xlrWEoKrTuIfjShaNbkW0YAPe4UZsjlfw11nYZ4bSn7v9UZW+/qvqUw9HhxlpjhNUWYC4jIKKkz9Bs/01b7OTpmQLbnnR6RZckmi8ih73uXZKx6Rc5shG3nTQ==", "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=E29mn7tp4RBLFT6TXecsgLF1LcrsBilxdLCQn0jGCbY=;\n b=phXPoKERV4ZqIvuBKOBSI2Gq9FXP0fK+b4DeIBtio0AJ5gZVGr02GMgmpUIBt6V2QGVaFYkzPhG7D+m/xVfygz/HfevMFgrrpioF3x7pI10ZJ9eoxQU03gAeSQ7LX5bknHjctpDIk2p4KSad0pYFqAgty3m+ykSebTqdJp67FdTkeqRGzZVyXjRV+KcHhJpH4v+5VidI1feIF5ZakirBlYjkLpZAhfq27JHZRf1O5faUxlAmaIeZxKlo2EcGTlFecA3FMojbLUCmZr9G+U6yUA3nkUTDOqE/lFctI/yxDGxUbj6Q4Y4QKiEB/YMxfwJ+M4lUv4fBR/GyOV3+V0nZAQ==" ], "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=E29mn7tp4RBLFT6TXecsgLF1LcrsBilxdLCQn0jGCbY=;\n b=TUrI8cgjoj2ZC4T83BMVERnHyPHiILlXma1sLSUQhvxE/ctR9OVxRetBIIPJ23Fwjgj/r543NiEHgz36dmDWlfSDtZsPCA9dE32mT9Snw+ChjkA3sqwKV+9Hvcxqw46J7xManEUPpHmwE3FfGKb5whqr0e3FAlGKCju96UYTLqg=", "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=E29mn7tp4RBLFT6TXecsgLF1LcrsBilxdLCQn0jGCbY=;\n b=TUrI8cgjoj2ZC4T83BMVERnHyPHiILlXma1sLSUQhvxE/ctR9OVxRetBIIPJ23Fwjgj/r543NiEHgz36dmDWlfSDtZsPCA9dE32mT9Snw+ChjkA3sqwKV+9Hvcxqw46J7xManEUPpHmwE3FfGKb5whqr0e3FAlGKCju96UYTLqg=" ], "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": "Wed, 8 Apr 2026 12:58:48 +0100", "From": "Alex Coplan <alex.coplan@arm.com>", "To": "gcc-patches@gcc.gnu.org", "Cc": "Joseph Myers <josmyers@redhat.com>,\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] aarch64, testsuite: Extend SME attribute tests [PR122483]", "Message-ID": "<adZC-AeasauTTf_U@arm.com>", "Content-Type": "multipart/mixed; boundary=\"IOHNHRnAMKac7A6Z\"", "Content-Disposition": "inline", "X-ClientProxiedBy": "PR1P264CA0146.FRAP264.PROD.OUTLOOK.COM\n (2603:10a6:102:346::11) To PAWPR08MB8958.eurprd08.prod.outlook.com\n (2603:10a6:102:33e::15)", "MIME-Version": "1.0", "X-MS-TrafficTypeDiagnostic": "\n PAWPR08MB8958:EE_|DU5PR08MB10775:EE_|DB3PEPF0000885F:EE_|DBAPR08MB5640:EE_", "X-MS-Office365-Filtering-Correlation-Id": "51bdfca9-8014-49b0-9fd9-08de95665b8e", "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|376014|366016|6049299003|1800799024|4053099003|18002099003|56012099003;", "X-Microsoft-Antispam-Message-Info-Original": "\n uAJExtSk3knnciqMXJzfkxMBo9kDfr40OPzQa+ApBOZiCqqftIaqGTCEoTfqLjsXFs3MYFOaHzhoj4onPsW7c7W1yjMHDkZ9YZu+3Puq9U5gcVezKmEJhn4kreqMUFvdIDaetVp+u7YUzc9JxYNqHLDX+x9GGSNFMWmQH1Cop64iGezySeXBUTJ/Pa+okUuLi2Z//7P9grr9LGwpIyc5vcSPca7yPCPMSu0OyEufCnI6N1l/pvfRvBcQHygfy53FxOh0tUHr6HMQb5A8TEQngjotVnltfg94Uu0hZibCWz3RDdC58uycEIZW1HGWI/a/uwXgCGr+AoyUox9leZ8nw2Q7Z+U/uqjksxAUTrFAtZSnGkpDr3lXsE1t6J35rS9c98fI9NVRy01u+WcOm6tNT5sIAzKJL4iakcEmHwqZ5Af90Vg3Q/SJ+3JO7Lepw71tMuS71K58e+dy3bXPILv+nd0HM1lLm3LK7w3CUP1OXMIzflhi1C+py8b3ZD2vo6NjupChyEyLZaKYxdmmmHWlJabvGDro6TN8ptSWRdnwpM8Hn3lSeo/qgIN5B93tNFTu8qqUJDRYpcHW3xStbMW2uzLfgK18FKdXF1nlzQ1As/8vVaR2i5Z3iY/Y5aRPZqdXOY81GHWKAhFDUp8D6E0bf6IWyaDtlQfbH+8wOPFClUKBU9FcRMiP8zTCjrJ/PuJJ", "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)(376014)(366016)(6049299003)(1800799024)(4053099003)(18002099003)(56012099003);\n DIR:OUT; SFP:1101;", "X-Exchange-RoutingPolicyChecked": "\n E/HqjrJGYKRRwjadlhYShxhawogdQ3beFyUeKAsogC0nxF29jYF0Px6G9G/EKzO70sSbJzXG2ArblTvDtWRks9NUTm+G8mEuQl7g2nT/3K6FSOOuumL97GJaxKNgUN24AdVGAqibSSB56/7vXsnlggV4kuHeyAfPoto4Ip7F8N2bOSXn1R42MY0/KQbV4IFK7+oz2kFo4Ux72ckltgyLH+MYmHjzWjTPiTrrTWSkEBI88nb5zbryRO/EEUyUH+95qyY5H6tymeDQ4t27IlEd5c8ExPwoZE1aVkurmOGuretQwHffN9n/BAd8Q5abLOEBJR4+X2hXv9OOgcEkTpuxlg==", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": [ "DU5PR08MB10775", "DBAPR08MB5640" ], "X-EOPAttributedMessage": "0", "X-MS-Exchange-Transport-CrossTenantHeadersStripped": "\n DB3PEPF0000885F.eurprd02.prod.outlook.com", "X-MS-PublicTrafficType": "Email", "X-MS-Office365-Filtering-Correlation-Id-Prvs": "\n 8c6bf8b6-5028-40b1-0f0d-08de95663323", "X-Microsoft-Antispam": "BCL:0;\n ARA:13230040|35042699022|82310400026|14060799003|376014|36860700016|1800799024|6049299003|13003099007|4053099003|18002099003|56012099003;", "X-Microsoft-Antispam-Message-Info": "\n mTiaoVtR5xBg+u4ML8XkAOyWuFfNdby057DHayBHirnRj9PJ6xXVziTUsg/7wJ9A/9wl85QsU/F7B5BJh09Ty1ok/Q5iN/Xxmgb1HJb4dRe3lc9nO26CFrT0yeywCVWUePP5ozkIEjF3dJKqaUw/0YgiNAiHsJgoQ+hPkbcC2O4Ipqr/RBmVI8QLR35FMaeiNnwMIysLorA6A6S29c1bVx2L+WTI79Hp6Yah/Lg9vnzalAt00aP/yYA/yviUb5YidP3yxVxnYWGclxIvkZBjrbYg9BC91xYBEb0JgyqiPmHp5VkkRadwHxFhk9IFRtV6jGJJ/fNj5wh3AOVRtIlcOq4J7UJ5ZChjLlfRe9WKUe1DzrpjnTP+P//IYDWFGs2RopJbfttmP1YZcyd/LZyyciPz5Y2ZxE+xclsfXsr//AI1jjBS6Euac6LCH8Ny2mQwfET6v11ZofCvp67i5VJ3UTYY9z4YgjpESmu+2xYw9/FwrMuBanypuV8OdSsR/LoMvJVriXQF21Aaogr7+XWzHHwWoxht4P2TaFlvxe4Fzmvnbpoe9mFXVOEfAVX5ZB9/orDPl2nluQJD+5eBrRc2Zoyzibrd5WUbfgR4LXjlpTohS5nks6d5ANDZA6PS9Xqhv2EQE3uuu+t0tgtJboHUJ4EZexgdcz2HZG2tLdNkeIlv+AYDyBTYrAMM42oxIXi4BfsqxFeFGxjxztr1ESi1W4CJYe1Wv/rI+Vajny4g/4o=", "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)(82310400026)(14060799003)(376014)(36860700016)(1800799024)(6049299003)(13003099007)(4053099003)(18002099003)(56012099003);\n DIR:OUT; SFP:1101;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "\n uDYn39j+a9N/BK1Gwsd0feovtnvdYFcgFXmtPH5qCgp7Q/hqcsLtQu4/iOJvIqvENSAZY4N4M3ByalZidOPLsWDLR91VqI42p6YeYdaw3HeDEqIac24EWk50akA+ozCvS8iT7YpL+37MXorZPPUTnWVvXT+wIDUV7HEDKQ56US3vG5WslOnTSflLe56hu305P94WeVERMNQsSQgM7jTW+teqLyzueD4Jr37OBYxYiYj04mjrioSWrDGzfVbM5HgTjxMvTVL0alA+ptqgqjaVD65ZbDm0qSC6q/tB54jhQ997ex1Ql79VWA8SmruLC6KKrExuBdzyDE5HpoemLRdvAWUNHFBi62u9eP01Kzs425vG7ID4LiCE4/7zuaSbqFPpVFJa73IK1CI1E+d/15TNgJ0w+1G7YIOy1BkDSFeJRv9nehaV3JQLMgbghxIG8c9p", "X-OriginatorOrg": "arm.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "08 Apr 2026 11:59:58.7383 (UTC)", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 51bdfca9-8014-49b0-9fd9-08de95665b8e", "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 DB3PEPF0000885F.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 is a follow-up patch which depends on the fixes for PR122483:\nhttps://patchwork.sourceware.org/project/gcc/list/?series=59377\n\nThis extends the SME attribute tests (streaming_mode_1.c and\nza_state_1.c) with cases that involve one or both of the duplicate decls\nhaving extraneous non-type-affecting attributes, to verify that this\ndoesn't affect the rejection of cases that would otherwise be rejected\ndue to incompatible SME attributes.\n\nThe aim is to address Joseph's review comment on the C frontend patch in\nthe series that fixes PR122483:\n\n> > The motivation is to restore the rejection of code such as:\n> >\n> > void f(void) [[arm::streaming]];\n> > void f(void);\n>\n> What happens, and what is supposed to happen, when one or both\n> declarations have function type attributes that aren't meant to prevent\n> merging, in addition to the ones that are meant to prevent merging? (Such\n> as unsequenced / reproducible / gnu::format / ....)\n\n(https://inbox.sourceware.org/gcc-patches/91332677-b0d8-d097-151d-3690ff42c897@redhat.com/)\n\nI've verified that the tests still pass on aarch64-linux-gnu on top of\nthe other patches in the series. OK for trunk once the dependent\npatches (all except the C++ patch) have been approved and committed?\n\nThanks,\nAlex\n\ngcc/testsuite/ChangeLog:\n\n\t* gcc.target/aarch64/sme/streaming_mode_1.c: Add variants with\n\textraneous non-conflicting attributes.\n\t* gcc.target/aarch64/sme/za_state_1.c: Likewise.", "diff": "diff --git a/gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_1.c b/gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_1.c\nindex cb1b05948d8..bdd0839df65 100644\n--- a/gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_1.c\n+++ b/gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_1.c\n@@ -3,12 +3,64 @@\n void sc_a () [[arm::streaming_compatible]];\n void sc_a (); // { dg-error \"conflicting types\" }\n \n+// Variants of sc_a, checking that the presence of extraneous\n+// compatible attributes doesn't affect the rejection.\n+\n+int sc_a1 (int) [[arm::streaming_compatible, unsequenced]];\n+int sc_a1 (int); // { dg-error \"conflicting types\" }\n+\n+int sc_a2 (int) [[unsequenced, arm::streaming_compatible]];\n+int sc_a2 (int); // { dg-error \"conflicting types\" }\n+\n+int sc_a3 (int) [[arm::streaming_compatible]];\n+int sc_a3 (int) [[unsequenced]]; // { dg-error \"conflicting types\" }\n+\n+int sc_a4 (int) [[arm::streaming_compatible, unsequenced]];\n+int sc_a4 (int) [[unsequenced]]; // { dg-error \"conflicting types\" }\n+\n+int sc_a5 (int) [[unsequenced, arm::streaming_compatible]];\n+int sc_a5 (int) [[unsequenced]]; // { dg-error \"conflicting types\" }\n+\n void sc_b ();\n void sc_b () [[arm::streaming_compatible]]; // { dg-error \"conflicting types\" }\n \n+// Likewise with sc_b.\n+\n+int sc_b1 (int) [[reproducible]];\n+int sc_b1 (int) [[arm::streaming_compatible]]; // { dg-error \"conflicting types\" }\n+\n+int sc_b2 (int);\n+int sc_b2 (int) [[arm::streaming_compatible, reproducible]]; // { dg-error \"conflicting types\" }\n+\n+int sc_b3 (int);\n+int sc_b3 (int) [[reproducible, arm::streaming_compatible]]; // { dg-error \"conflicting types\" }\n+\n+int sc_b4 (int) [[reproducible]];\n+int sc_b4 (int) [[arm::streaming_compatible, reproducible]]; // { dg-error \"conflicting types\" }\n+\n+int sc_b5 (int) [[reproducible]];\n+int sc_b5 (int) [[reproducible, arm::streaming_compatible]]; // { dg-error \"conflicting types\" }\n+\n void sc_c () [[arm::streaming_compatible]];\n void sc_c () {} // { dg-error \"conflicting types\" }\n \n+// Likewise with sc_c.\n+\n+int sc_c1 (int) [[arm::streaming_compatible, unsequenced]];\n+int sc_c1 (int) {} // { dg-error \"conflicting types\" }\n+\n+int sc_c2 (int) [[unsequenced, arm::streaming_compatible]];\n+int sc_c2 (int) {} // { dg-error \"conflicting types\" }\n+\n+int sc_c3 (int) [[arm::streaming_compatible]];\n+int sc_c3 (int) [[unsequenced]] {} // { dg-error \"conflicting types\" }\n+\n+int sc_c4 (int) [[arm::streaming_compatible, unsequenced]];\n+int sc_c4 (int) [[unsequenced]] {} // { dg-error \"conflicting types\" }\n+\n+int sc_c5 (int) [[unsequenced, arm::streaming_compatible]];\n+int sc_c5 (int) [[unsequenced]] {} // { dg-error \"conflicting types\" }\n+\n void sc_d ();\n void sc_d () [[arm::streaming_compatible]] {} // { dg-error \"conflicting types\" }\n \n@@ -29,15 +81,84 @@ extern void (*sc_h) (); // { dg-error \"conflicting types\" }\n void s_a () [[arm::streaming]];\n void s_a (); // { dg-error \"conflicting types\" }\n \n+// Variants of s_a, checking that the presence of extraneous\n+// compatible attributes doesn't affect the rejection.\n+\n+int s_a1 () [[arm::streaming, gnu::warn_unused_result]];\n+int s_a1 (); // { dg-error \"conflicting types\" }\n+\n+int s_a2 () [[gnu::warn_unused_result, arm::streaming]];\n+int s_a2 (); // { dg-error \"conflicting types\" }\n+\n+int s_a3 () [[arm::streaming]];\n+int s_a3 () [[gnu::warn_unused_result]]; // { dg-error \"conflicting types\" }\n+\n+int s_a4 () [[arm::streaming, gnu::warn_unused_result]];\n+int s_a4 () [[gnu::warn_unused_result]]; // { dg-error \"conflicting types\" }\n+\n+int s_a5 () [[gnu::warn_unused_result, arm::streaming]];\n+int s_a5 () [[gnu::warn_unused_result]]; // { dg-error \"conflicting types\" }\n+\n void s_b ();\n void s_b () [[arm::streaming]]; // { dg-error \"conflicting types\" }\n \n+// Likewise with s_b.\n+\n+int s_b1 (int) [[unsequenced]];\n+int s_b1 (int) [[arm::streaming]]; // { dg-error \"conflicting types\" }\n+\n+int s_b2 (int);\n+int s_b2 (int) [[arm::streaming, unsequenced]]; // { dg-error \"conflicting types\" }\n+\n+int s_b3 (int);\n+int s_b3 (int) [[unsequenced, arm::streaming]]; // { dg-error \"conflicting types\" }\n+\n+int s_b4 (int) [[unsequenced]];\n+int s_b4 (int) [[arm::streaming, unsequenced]]; // { dg-error \"conflicting types\" }\n+\n+int s_b5 (int) [[unsequenced]];\n+int s_b5 (int) [[unsequenced, arm::streaming]]; // { dg-error \"conflicting types\" }\n+\n void s_c () [[arm::streaming]];\n void s_c () {} // { dg-error \"conflicting types\" }\n \n+// Likewise with s_c.\n+\n+int s_c1 (int) [[arm::streaming, reproducible]];\n+int s_c1 (int) {} // { dg-error \"conflicting types\" }\n+\n+int s_c2 (int) [[reproducible, arm::streaming]];\n+int s_c2 (int) {} // { dg-error \"conflicting types\" }\n+\n+int s_c3 (int) [[arm::streaming]];\n+int s_c3 (int) [[reproducible]] {} // { dg-error \"conflicting types\" }\n+\n+int s_c4 (int) [[arm::streaming, reproducible]];\n+int s_c4 (int) [[reproducible]] {} // { dg-error \"conflicting types\" }\n+\n+int s_c5 (int) [[reproducible, arm::streaming]];\n+int s_c5 (int) [[reproducible]] {} // { dg-error \"conflicting types\" }\n+\n void s_d ();\n void s_d () [[arm::streaming]] {} // { dg-error \"conflicting types\" }\n \n+// Likewise with s_d.\n+\n+int s_d1 () [[gnu::warn_unused_result]];\n+int s_d1 () [[arm::streaming]] {} // { dg-error \"conflicting types\" }\n+\n+int s_d2 ();\n+int s_d2 () [[gnu::warn_unused_result, arm::streaming]] {} // { dg-error \"conflicting types\" }\n+\n+int s_d3 ();\n+int s_d3 () [[arm::streaming, gnu::warn_unused_result]] {} // { dg-error \"conflicting types\" }\n+\n+int s_d4 () [[gnu::warn_unused_result]];\n+int s_d4 () [[arm::streaming, gnu::warn_unused_result]] {} // { dg-error \"conflicting types\" }\n+\n+int s_d4 () [[gnu::warn_unused_result]];\n+int s_d4 () [[gnu::warn_unused_result, arm::streaming]] {} // { dg-error \"conflicting types\" }\n+\n void s_e () [[arm::streaming]] {}\n void s_e (); // { dg-error \"conflicting types\" }\n \n@@ -55,9 +176,51 @@ extern void (*s_h) (); // { dg-error \"conflicting types\" }\n void mixed_a () [[arm::streaming]];\n void mixed_a () [[arm::streaming_compatible]]; // { dg-error \"conflicting types\" }\n \n+// Variants of mixed_a, checking that the presence of extraneous\n+// compatible attributes doesn't affect the rejection.\n+\n+int mixed_a1 (int) [[arm::streaming, unsequenced]];\n+int mixed_a1 (int) [[arm::streaming_compatible]]; // { dg-error \"conflicting types\" }\n+\n+int mixed_a2 (int) [[unsequenced, arm::streaming]];\n+int mixed_a2 (int) [[arm::streaming_compatible]]; // { dg-error \"conflicting types\" }\n+\n+int mixed_a3 (int) [[arm::streaming]];\n+int mixed_a3 (int) [[arm::streaming_compatible, unsequenced]]; // { dg-error \"conflicting types\" }\n+\n+int mixed_a4 (int) [[arm::streaming]];\n+int mixed_a4 (int) [[unsequenced, arm::streaming_compatible]]; // { dg-error \"conflicting types\" }\n+\n+int mixed_a5 (int) [[arm::streaming, unsequenced]];\n+int mixed_a5 (int) [[arm::streaming_compatible, unsequenced]]; // { dg-error \"conflicting types\" }\n+\n+int mixed_a6 (int) [[unsequenced, arm::streaming]];\n+int mixed_a6 (int) [[arm::streaming_compatible, unsequenced]]; // { dg-error \"conflicting types\" }\n+\n+int mixed_a7 (int) [[arm::streaming, unsequenced]];\n+int mixed_a7 (int) [[unsequenced, arm::streaming_compatible]]; // { dg-error \"conflicting types\" }\n+\n+int mixed_a8 (int) [[unsequenced, arm::streaming]];\n+int mixed_a8 (int) [[unsequenced, arm::streaming_compatible]]; // { dg-error \"conflicting types\" }\n+\n void mixed_b () [[arm::streaming_compatible]];\n void mixed_b () [[arm::streaming]]; // { dg-error \"conflicting types\" }\n \n+// Likewise with variants of mixed_b (although not including all\n+// permutations).\n+\n+int mixed_b1 (int) [[arm::streaming_compatible]];\n+int mixed_b1 (int) [[arm::streaming]]; // { dg-error \"conflicting types\" }\n+\n+int mixed_b2 (int) [[arm::streaming_compatible, reproducible]];\n+int mixed_b2 (int) [[arm::streaming]]; // { dg-error \"conflicting types\" }\n+\n+int mixed_b3 (int) [[arm::streaming_compatible]];\n+int mixed_b3 (int) [[arm::streaming, reproducible]]; // { dg-error \"conflicting types\" }\n+\n+int mixed_b4 (int) [[arm::streaming_compatible, reproducible]];\n+int mixed_b4 (int) [[arm::streaming, reproducible]]; // { dg-error \"conflicting types\" }\n+\n void mixed_c () [[arm::streaming]];\n void mixed_c () [[arm::streaming_compatible]] {} // { dg-error \"conflicting types\" }\n \n@@ -120,9 +283,44 @@ void keyword_ok_5 () [[arm::streaming_compatible]];\n void keyword_contradiction_1 () __arm_streaming;\n void keyword_contradiction_1 (); // { dg-error \"conflicting types\" }\n \n+// Variants of keyword_contradiction_1, checking that the presence of\n+// extraneous compatible attributes doesn't affect the rejection.\n+\n+int keyword_contradiction_1a (int) __arm_streaming [[unsequenced]];\n+int keyword_contradiction_1a (int); // { dg-error \"conflicting types\" }\n+\n+int keyword_contradiction_1b (int) [[unsequenced]] __arm_streaming;\n+int keyword_contradiction_1b (int); // { dg-error \"conflicting types\" }\n+\n+int keyword_contradiction_1c (int) __arm_streaming;\n+int keyword_contradiction_1c (int) [[unsequenced]]; // { dg-error \"conflicting types\" }\n+\n+int keyword_contradiction_1d (int) __arm_streaming [[unsequenced]];\n+int keyword_contradiction_1d (int) [[unsequenced]]; // { dg-error \"conflicting types\" }\n+\n+int keyword_contradiction_1e (int) [[unsequenced]] __arm_streaming;\n+int keyword_contradiction_1e (int) [[unsequenced]]; // { dg-error \"conflicting types\" }\n+\n void keyword_contradiction_2 ();\n void keyword_contradiction_2 () __arm_streaming; // { dg-error \"conflicting types\" }\n \n+// Likewise with keyword_contradiction_2.\n+\n+int keyword_contradiction_2a (int) [[reproducible]];\n+int keyword_contradiction_2a (int) __arm_streaming; // { dg-error \"conflicting types\" }\n+\n+int keyword_contradiction_2b (int);\n+int keyword_contradiction_2b (int) __arm_streaming [[reproducible]]; // { dg-error \"conflicting types\" }\n+\n+int keyword_contradiction_2c (int);\n+int keyword_contradiction_2c (int) [[reproducible]] __arm_streaming ; // { dg-error \"conflicting types\" }\n+\n+int keyword_contradiction_2d (int) [[reproducible]];\n+int keyword_contradiction_2d (int) __arm_streaming [[reproducible]]; // { dg-error \"conflicting types\" }\n+\n+int keyword_contradiction_2e (int) [[reproducible]];\n+int keyword_contradiction_2e (int) [[reproducible]] __arm_streaming ; // { dg-error \"conflicting types\" }\n+\n void keyword_contradiction_3 () __arm_streaming;\n void keyword_contradiction_3 () [[arm::streaming_compatible]]; // { dg-error \"conflicting types\" }\n \ndiff --git a/gcc/testsuite/gcc.target/aarch64/sme/za_state_1.c b/gcc/testsuite/gcc.target/aarch64/sme/za_state_1.c\nindex 7d7989b18b3..012b143b200 100644\n--- a/gcc/testsuite/gcc.target/aarch64/sme/za_state_1.c\n+++ b/gcc/testsuite/gcc.target/aarch64/sme/za_state_1.c\n@@ -3,9 +3,44 @@\n void shared_a () [[arm::inout(\"za\")]];\n void shared_a (); // { dg-error \"conflicting types\" }\n \n+// Variants of shared_a, checking that the presence of extraneous\n+// compatible attributes doesn't affect the rejection.\n+\n+int shared_a1 (int) [[arm::inout(\"za\"), unsequenced]];\n+int shared_a1 (int); // { dg-error \"conflicting types\" }\n+\n+int shared_a2 (int) [[unsequenced, arm::inout(\"za\")]];\n+int shared_a2 (int); // { dg-error \"conflicting types\" }\n+\n+int shared_a3 (int) [[arm::inout(\"za\")]];\n+int shared_a3 (int) [[unsequenced]]; // { dg-error \"conflicting types\" }\n+\n+int shared_a4 (int) [[arm::inout(\"za\"), unsequenced]];\n+int shared_a4 (int) [[unsequenced]]; // { dg-error \"conflicting types\" }\n+\n+int shared_a5 (int) [[unsequenced, arm::inout(\"za\")]];\n+int shared_a5 (int) [[unsequenced]]; // { dg-error \"conflicting types\" }\n+\n void shared_b ();\n void shared_b () [[arm::inout(\"za\")]]; // { dg-error \"conflicting types\" }\n \n+// Likewise with shared_b.\n+\n+int shared_b1 () [[gnu::warn_unused_result]];\n+int shared_b1 () [[arm::inout(\"za\")]]; // { dg-error \"conflicting types\" }\n+\n+int shared_b2 ();\n+int shared_b2 () [[arm::inout(\"za\"), gnu::warn_unused_result]]; // { dg-error \"conflicting types\" }\n+\n+int shared_b3 ();\n+int shared_b3 () [[gnu::warn_unused_result, arm::inout(\"za\")]]; // { dg-error \"conflicting types\" }\n+\n+int shared_b4 () [[gnu::warn_unused_result]];\n+int shared_b4 () [[arm::inout(\"za\"), gnu::warn_unused_result]]; // { dg-error \"conflicting types\" }\n+\n+int shared_b5 () [[gnu::warn_unused_result]];\n+int shared_b5 () [[gnu::warn_unused_result, arm::inout(\"za\")]]; // { dg-error \"conflicting types\" }\n+\n void shared_c () [[arm::inout(\"za\")]];\n void shared_c () {} // { dg-error \"conflicting types\" }\n \n", "prefixes": [] }