Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.2/patches/2224606/?format=api
{ "id": 2224606, "url": "http://patchwork.ozlabs.org/api/1.2/patches/2224606/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/20260417172621.1015209-5-torbjorn.svensson@foss.st.com/", "project": { "id": 17, "url": "http://patchwork.ozlabs.org/api/1.2/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": "<20260417172621.1015209-5-torbjorn.svensson@foss.st.com>", "list_archive_url": null, "date": "2026-04-17T17:26:21", "name": "[05/30] Change `struct loop` to `class loop` to align tags", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "c95a557b8341b648e46fe2a23fcd84342cd3da30", "submitter": { "id": 84848, "url": "http://patchwork.ozlabs.org/api/1.2/people/84848/?format=api", "name": "Torbjörn SVENSSON", "email": "torbjorn.svensson@foss.st.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/20260417172621.1015209-5-torbjorn.svensson@foss.st.com/mbox/", "series": [ { "id": 500377, "url": "http://patchwork.ozlabs.org/api/1.2/series/500377/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=500377", "date": "2026-04-17T17:25:07", "name": "Align struct/class forward declaration with implementation", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/500377/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2224606/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2224606/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=foss.st.com header.i=@foss.st.com header.a=rsa-sha256\n header.s=selector2 header.b=X1ZRrjLE;\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=foss.st.com header.i=@foss.st.com header.a=rsa-sha256\n header.s=selector2 header.b=X1ZRrjLE", "sourceware.org;\n dmarc=pass (p=none dis=none) header.from=foss.st.com", "sourceware.org; spf=pass smtp.mailfrom=foss.st.com", "server2.sourceware.org;\n arc=pass smtp.remote-ip=52.101.83.57" ], "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 4fy2193ClMz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 18 Apr 2026 03:29:00 +1000 (AEST)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 5B7604AA397A\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 17 Apr 2026 17:28:58 +0000 (GMT)", "from GVXPR05CU001.outbound.protection.outlook.com\n (mail-swedencentralazon11013057.outbound.protection.outlook.com\n [52.101.83.57])\n by sourceware.org (Postfix) with ESMTPS id 1496B4CCCA30\n for <gcc-patches@gcc.gnu.org>; Fri, 17 Apr 2026 17:26:43 +0000 (GMT)", "from AM8P189CA0007.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:218::12)\n by AS8PR10MB5903.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:52d::5)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9818.25; Fri, 17 Apr\n 2026 17:26:37 +0000", "from AMS0EPF000001B0.eurprd05.prod.outlook.com\n (2603:10a6:20b:218:cafe::59) by AM8P189CA0007.outlook.office365.com\n (2603:10a6:20b:218::12) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9769.52 via Frontend Transport; Fri,\n 17 Apr 2026 17:26:37 +0000", "from smtpO365.st.com (164.130.1.60) by\n AMS0EPF000001B0.mail.protection.outlook.com (10.167.16.164) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.9769.17 via Frontend Transport; Fri, 17 Apr 2026 17:26:37 +0000", "from STKDAG1NODE2.st.com (10.75.128.133) by smtpO365.st.com\n (10.250.44.72) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Fri, 17 Apr\n 2026 19:29:26 +0200", "from jkgcxl0012.jkg.st.com (10.74.22.122) by STKDAG1NODE2.st.com\n (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Fri, 17 Apr\n 2026 19:26:36 +0200" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org 5B7604AA397A", "OpenDKIM Filter v2.11.0 sourceware.org 1496B4CCCA30" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 1496B4CCCA30", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 1496B4CCCA30", "ARC-Seal": [ "i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1776446803; cv=pass;\n b=pO1Qi1/Brl/bYnsdc4eWmdpLOF7vTihQejycAWEiF/78m/tJhXoHn6/uZ9uu5nXikZ4AXXiOu25uAKALe0xXSQGbUT0JX03Zyo+QYqKi6r3MTOid5+d+PoP/IKWuwq7Dyan+HG5qMMkRhoZhPhIFgkUoIha0ZykR5LSFWcFP5QM=", "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=jgbpjJ5tF8MwnhcyWhB35BHmyrBHE35MYBroYkwGcyZBQWW8yTVBof3YasaGUTekZtYH3ltbr7XJ3ETsNPbWe2+VsYeb+1nhtTkLyL7Nmctn9t2wVuWNWVieAwkdWLljonKgscgQ+X9+0InvkI/fLxF4ZQ+eCnJSf90h4dusVYl3w8JOjp4buuHYKcc9/xrQJBqYAF5obUFF7M4b9R7yrRX+xnSAu5qNY8jPAz3QSUDN3SpetefFw1ull3I214IbbNaV0d4EqrztWJIoLmL1iNhBQRlPlY2GgMmQhWJJ8xWLBOZpSSsnzVfxNrHhJX4dovG7LQ30kobtdGIYwIlHwA==" ], "ARC-Message-Signature": [ "i=2; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776446803; c=relaxed/simple;\n bh=VfMgXdJGquPL+Rb5GhC/3w8F7PvemDxuMjLDxEPkqCI=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=uwoY8Zjrm8mPj1mA+aFA5v+JBYqdRCYmKBqqoZLwMfl9cnEotjQ/DSkyl10Rh+XGYXzBcYjzZOuTQGaCHlVi+JY394CIbCVWwncqjlhhiy3gUxHGeVHDNBpHisl3GgIpG4BAXBpCWbh1VLHzl6T1suRrMKt+/CcgzzHCFFIKJ7M=", "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=F5pOpwo6+syHG3hyrAy5Fo+bU7Kt0ESN8kHXGYgn7po=;\n b=YPhZOjJWQN2+6ryycpCBbByhFl5f4r89iiCMcCws+4tpOyZIFBwL9SuSmrSWXurrwapmQAVGyhawwRIh95XTjOP6KyjZbD63ebUEm1iTDWO/DQIE1BmFzzodMrS/sJ++CcSOUJSwX+COAA7RgKvbP0lmZGcNWdZB1vw+3lhUp6NTySYm770BUfU1fenWMKxiL3ocaepTXwuRLYGLq9OB8YeIoeG3xwH+v+oOLFnXjCZZoXisaaas9DMF6gtTG/oLf6R3fHj/0wsHSkF/xJ+BWS0xHqYNk2r9+s506ww4ilMVhDN0+JZropS7eLRdsK2tk06PfyrxyGlfVo7u4XKRBA==" ], "ARC-Authentication-Results": [ "i=2; server2.sourceware.org", "i=1; mx.microsoft.com 1; spf=fail (sender ip is\n 164.130.1.60) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=foss.st.com;\n dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com;\n dkim=none (message not signed); arc=none (0)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=F5pOpwo6+syHG3hyrAy5Fo+bU7Kt0ESN8kHXGYgn7po=;\n b=X1ZRrjLEE1aQnmzb/7M8UEgWlXm3L+T+xlZuWnv9BQ4wgJVYt+zvEVWF6mMKMFPwxjvc9jk07cV4ohPJRrL5OZpJeFTkpXCJTRoeTkHXy5ddKGCcSMTGVHYiZHN9P0RCxTYa7I7vOSOQGyM4CQgOTWq3GfWZROlci4yMBde8u+MnNAnr5BrnFr68gDVCU6BSTbvogAbPhTgQES4ZbGWAu4ZuIqUDmaX3jcHkZAYbBQACrrJ3l2v+j8OlBQX3q5YYBkcIltBwzuj/aZCjAQ7IC6v1olTTqocNFn6Qfi1Xso6fLR4lYCxGnUGyZt+otQg3CwjBuNuU8h6HU3BrygOLpg==", "X-MS-Exchange-Authentication-Results": "spf=fail (sender IP is 164.130.1.60)\n smtp.mailfrom=foss.st.com; dkim=none (message not signed)\n header.d=none;dmarc=fail action=none header.from=foss.st.com;", "Received-SPF": "Fail (protection.outlook.com: domain of foss.st.com does not\n designate 164.130.1.60 as permitted sender) receiver=protection.outlook.com;\n client-ip=164.130.1.60; helo=smtpO365.st.com;", "From": "=?utf-8?q?Torbj=C3=B6rn_SVENSSON?= <torbjorn.svensson@foss.st.com>", "To": "<gcc-patches@gcc.gnu.org>", "CC": "=?utf-8?q?Torbj=C3=B6rn_SVENSSON?= <torbjorn.svensson@foss.st.com>", "Subject": "[PATCH 05/30] Change `struct loop` to `class loop` to align tags", "Date": "Fri, 17 Apr 2026 19:26:21 +0200", "Message-ID": "<20260417172621.1015209-5-torbjorn.svensson@foss.st.com>", "X-Mailer": "git-send-email 2.43.0", "In-Reply-To": "<20260417172621.1015209-1-torbjorn.svensson@foss.st.com>", "References": "<20260417172506.1015169-2-torbjorn.svensson@foss.st.com>\n <20260417172621.1015209-1-torbjorn.svensson@foss.st.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"UTF-8\"", "Content-Transfer-Encoding": "8bit", "X-Originating-IP": "[10.74.22.122]", "X-ClientProxiedBy": "ENXCAS1NODE2.st.com (10.75.128.138) To STKDAG1NODE2.st.com\n (10.75.128.133)", "X-EOPAttributedMessage": "0", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "AMS0EPF000001B0:EE_|AS8PR10MB5903:EE_", "X-MS-Office365-Filtering-Correlation-Id": "06b571f9-4d9e-46cd-9b37-08de9ca67ad8", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;\n ARA:13230040|376014|82310400026|1800799024|42112799006|36860700016|22082099003|56012099003|18002099003;", "X-Microsoft-Antispam-Message-Info": "\n T9mJee/1Fi/C6t4fH8LEngywrJxXA2XRoktuPhAgZ3IoIUUKBcIExYMbtXe/yLZGBjs5CPvUSINQSIHVOPZxlSPkPXHj8PdfZAAONw09Xx8P8dTJmw1Fgv67MNCAZptR7ucZTJymU/NosUAgvRdDyznEtWgzHDJnv5Z9WX3KSDEXHiwSsSgJBeNcK0/ijyWURh9s8AbcqO0BQVv1P/KnIAewUbHK9HUUZa5rZewbhw1qouRKVDPbt7yqypeqPtiWJJ9vf04EHag9Q0eiNSD6sLiaS90GBVziwWO7PAfGnybm2ClgZlx6YUFwwbDipWfQuU/yxEyAMVjhM1FIfuPBdLSC2IknX+AuQAD5xuvBaJUF2DaX5+S3PwL3qymTe/1DsR1yKZ7ooxuqElsceHG6FX0GsjQz/QRs5ZkNailBoAFR+pJeZ3O11LFYllUm0q2idSTg95szbhJahhzqjpXTrgLlaZqrtf64RZkXnywTbZDq7EOkzdMsav3+Tb9UIj6XEDy45xuR6j7U/+UcIfeqYLzX6UJrLTREK5wB/1Jw2tpzpEIrGgndFNAXU2p3te3iYV5qoQ74N3VRdDV89XTR+khR7KQTdYfd+pjktnOzuHiYtrPP8stykrrQMdWCqWnNQaOSrTbSaIVa9FrKw8SkSEp1OZkbd/DK/JaEp35gHscRun7FMqwbIQ2KhjMI3UW/GHTeVf29p1FUe/rYE02onO7Z7kBrNiq+B3ux2Fga3o+I+aQhAju3nxRE0641qehzaJZasIC81H8TvhLmgkHJZQ==", "X-Forefront-Antispam-Report": "CIP:164.130.1.60; CTRY:IT; LANG:en; SCL:1; SRV:;\n IPV:CAL; SFV:NSPM; H:smtpO365.st.com; PTR:InfoDomainNonexistent; CAT:NONE;\n SFS:(13230040)(376014)(82310400026)(1800799024)(42112799006)(36860700016)(22082099003)(56012099003)(18002099003);\n DIR:OUT; SFP:1101;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "\n q+tBM2BvGrBg+n31nC2U8GWh00P1AwVxQn0QGCPKTElFUImSj9eOnvgZceKHDirS6egPmUWNwkHCzwe4v991WoeIVLonYKNDKCVfNJUreCBZ1LGt9oUxjjacvxUmBrC/5X3oFjsuNIYWoPRA6Vo3Mq/RjCgLoQyz43+wboFSypMpbj/ZVzaXouMzQ2mXQ9ryuMDgKKaaO5TcudqXxgRsgv6I9WVljX9j+VKwm10u7UMJIP2eCB+/gs/h0O4Mj6G1GT3z4AOaYI/dQBJSUNSYE2QZq/1xpi/njihwZA3rhL82bRZxRA/uGGAQHBpAnt5uKoPQTYD+hVs6xFk5lXKHICClkFIq4GRamQ6Agk++TQMsImT3dUQHqKD7d+KlJnnxK2oSzT9qPc5Sw022IsN1cvO7Hng7XTNNluo5uynNv5mres6jEyEFJf+dVRCoPzdz", "X-OriginatorOrg": "foss.st.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "17 Apr 2026 17:26:37.1660 (UTC)", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 06b571f9-4d9e-46cd-9b37-08de9ca67ad8", "X-MS-Exchange-CrossTenant-Id": "75e027c9-20d5-47d5-b82f-77d7cd041e8f", "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f; Ip=[164.130.1.60];\n Helo=[smtpO365.st.com]", "X-MS-Exchange-CrossTenant-AuthSource": "\n AMS0EPF000001B0.eurprd05.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous", "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AS8PR10MB5903", "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": "Building GCC with clang gives warnings like:\nwarning: struct 'loop' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]\n\ngcc/ChangeLog:\n\n\t* cfg.cc: Change `struct loop` to `class loop`.\n\t* config/arm/arm.cc: Likewise.\n\t* config/rs6000/rs6000.cc: Likewise.\n\t* config/s390/s390.cc: Likewise.\n\t* fwprop.cc: Likewise.\n\t* graphite-isl-ast-to-gimple.cc: Likewise.\n\t* graphite-scop-detection.cc: Likewise.\n\t* tree-ssa-loop-ivopts.cc: Likewise.\n\t* tree-ssa-loop-split.cc: Likewise.\n\t* tree-ssa-reassoc.cc: Likewise.\n\t* tree-vect-loop.cc: Likewise.\n\t* tree-vect-slp.cc: Likewise.\n\t* tree-vectorizer.cc: Likewise.\n\nSigned-off-by: Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>\n---\n gcc/cfg.cc | 2 +-\n gcc/config/arm/arm.cc | 4 ++--\n gcc/config/rs6000/rs6000.cc | 6 +++---\n gcc/config/s390/s390.cc | 6 +++---\n gcc/fwprop.cc | 6 +++---\n gcc/graphite-isl-ast-to-gimple.cc | 6 +++---\n gcc/graphite-scop-detection.cc | 2 +-\n gcc/tree-ssa-loop-ivopts.cc | 4 ++--\n gcc/tree-ssa-loop-split.cc | 32 +++++++++++++++----------------\n gcc/tree-ssa-reassoc.cc | 2 +-\n gcc/tree-vect-loop.cc | 2 +-\n gcc/tree-vect-slp.cc | 8 ++++----\n gcc/tree-vectorizer.cc | 2 +-\n 13 files changed, 41 insertions(+), 41 deletions(-)", "diff": "diff --git a/gcc/cfg.cc b/gcc/cfg.cc\nindex 6b9d5b24a55..92b36d979b9 100644\n--- a/gcc/cfg.cc\n+++ b/gcc/cfg.cc\n@@ -55,7 +55,7 @@ along with GCC; see the file COPYING3. If not see\n #include \"cfghooks.h\"\n #include \"df.h\"\n #include \"cfganal.h\"\n-#include \"cfgloop.h\" /* FIXME: For struct loop. */\n+#include \"cfgloop.h\" /* FIXME: For class loop. */\n #include \"dumpfile.h\"\n \n \f\ndiff --git a/gcc/config/arm/arm.cc b/gcc/config/arm/arm.cc\nindex b75a32ddab9..d4f2f486fdf 100644\n--- a/gcc/config/arm/arm.cc\n+++ b/gcc/config/arm/arm.cc\n@@ -35326,7 +35326,7 @@ arm_mve_loop_valid_for_dlstp (loop *loop)\n need of a heuristic to determine what an appropriate size boundary is. */\n \n static bool\n-arm_predict_doloop_p (struct loop *loop)\n+arm_predict_doloop_p (class loop *loop)\n {\n gcc_assert (loop);\n /* On arm, targetm.can_use_doloop_p is actually\n@@ -35380,7 +35380,7 @@ arm_predict_doloop_p (struct loop *loop)\n the unrolling. */\n \n unsigned\n-arm_loop_unroll_adjust (unsigned nunroll, struct loop *loop)\n+arm_loop_unroll_adjust (unsigned nunroll, class loop *loop)\n {\n if (TARGET_HAVE_MVE\n && arm_target_bb_ok_for_lob (loop->latch)\ndiff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc\nindex 3838059a7e2..ef04ae23e78 100644\n--- a/gcc/config/rs6000/rs6000.cc\n+++ b/gcc/config/rs6000/rs6000.cc\n@@ -5209,7 +5209,7 @@ rs6000_cost_data::density_test (loop_vec_info loop_vinfo)\n if (m_costing_for_scalar)\n return;\n \n- struct loop *loop = LOOP_VINFO_LOOP (loop_vinfo);\n+ class loop *loop = LOOP_VINFO_LOOP (loop_vinfo);\n basic_block *bbs = get_loop_body (loop);\n int nbbs = loop->num_nodes;\n int vec_cost = m_costs[vect_body], not_vec_cost = 0;\n@@ -5573,7 +5573,7 @@ rs6000_cost_data::finish_cost (const vector_costs *scalar_costs)\n /* Implement targetm.loop_unroll_adjust. */\n \n static unsigned\n-rs6000_loop_unroll_adjust (unsigned nunroll, struct loop *loop)\n+rs6000_loop_unroll_adjust (unsigned nunroll, class loop *loop)\n {\n if (unroll_only_small_loops)\n {\n@@ -28743,7 +28743,7 @@ rs6000_mangle_decl_assembler_name (tree decl, tree id)\n doloop_optimize pass. */\n \n static bool\n-rs6000_predict_doloop_p (struct loop *loop)\n+rs6000_predict_doloop_p (class loop *loop)\n {\n gcc_assert (loop);\n \ndiff --git a/gcc/config/s390/s390.cc b/gcc/config/s390/s390.cc\nindex cdd39f63500..e3d2337a4e3 100644\n--- a/gcc/config/s390/s390.cc\n+++ b/gcc/config/s390/s390.cc\n@@ -15522,7 +15522,7 @@ s390_z10_optimize_cmp (rtx_insn *insn)\n /* Scan LOOP for static OSC collisions and return true if a osc_break\n should be issued for this loop. */\n static bool\n-s390_adjust_loop_scan_osc (struct loop* loop)\n+s390_adjust_loop_scan_osc (class loop* loop)\n \n {\n HARD_REG_SET modregs, newregs;\n@@ -16463,14 +16463,14 @@ s390_sched_init (FILE *file ATTRIBUTE_UNUSED,\n }\n \n /* This target hook implementation for TARGET_LOOP_UNROLL_ADJUST calculates\n- a new number struct loop *loop should be unrolled if tuned for cpus with\n+ a new number class loop *loop should be unrolled if tuned for cpus with\n a built-in stride prefetcher.\n The loop is analyzed for memory accesses by calling check_dpu for\n each rtx of the loop. Depending on the loop_depth and the amount of\n memory accesses a new number <=nunroll is returned to improve the\n behavior of the hardware prefetch unit. */\n static unsigned\n-s390_loop_unroll_adjust (unsigned nunroll, struct loop *loop)\n+s390_loop_unroll_adjust (unsigned nunroll, class loop *loop)\n {\n basic_block *bbs;\n rtx_insn *insn;\ndiff --git a/gcc/fwprop.cc b/gcc/fwprop.cc\nindex 68969d10401..ec2729b5d99 100644\n--- a/gcc/fwprop.cc\n+++ b/gcc/fwprop.cc\n@@ -869,8 +869,8 @@ forward_propagate_into (use_info *use, bool reg_prop_only = false)\n /* Allow propagations into a loop only for reg-to-reg copies, since\n replacing one register by another shouldn't increase the cost.\n Propagations from inner loop to outer loop should also be ok. */\n- struct loop *def_loop = def_insn->bb ()->cfg_bb ()->loop_father;\n- struct loop *use_loop = use->bb ()->cfg_bb ()->loop_father;\n+ class loop *def_loop = def_insn->bb ()->cfg_bb ()->loop_father;\n+ class loop *use_loop = use->bb ()->cfg_bb ()->loop_father;\n if ((reg_prop_only\n || (def_loop != use_loop\n \t && !flow_loop_nested_p (use_loop, def_loop)))\n@@ -946,7 +946,7 @@ fwprop_insn (insn_info *insn, bool fwprop_addr_p)\n \t}\n else\n \t{\n-\t struct loop *loop = insn->bb ()->cfg_bb ()->loop_father;\n+\t class loop *loop = insn->bb ()->cfg_bb ()->loop_father;\n \t /* The outermost loop is not really a loop. */\n \t if (loop == NULL || loop_outer (loop) == NULL)\n \t {\ndiff --git a/gcc/graphite-isl-ast-to-gimple.cc b/gcc/graphite-isl-ast-to-gimple.cc\nindex d8de78a3ed0..dfc156f4a85 100644\n--- a/gcc/graphite-isl-ast-to-gimple.cc\n+++ b/gcc/graphite-isl-ast-to-gimple.cc\n@@ -168,7 +168,7 @@ class translate_isl_ast_to_gimple\n tree gcc_expression_from_isl_expr_op (tree type,\n \t\t\t\t\t__isl_take isl_ast_expr *expr,\n \t\t\t\t\tivs_params &ip);\n- struct loop *graphite_create_new_loop (edge entry_edge,\n+ class loop *graphite_create_new_loop (edge entry_edge,\n \t\t\t\t\t __isl_keep isl_ast_node *node_for,\n \t\t\t\t\t loop_p outer, tree type,\n \t\t\t\t\t tree lb, tree ub, ivs_params &ip);\n@@ -565,7 +565,7 @@ gcc_expression_from_isl_expression (tree type, __isl_take isl_ast_expr *expr,\n loop of STMT. The new induction variable is inserted in the NEWIVS\n vector and is of type TYPE. */\n \n-struct loop *translate_isl_ast_to_gimple::\n+class loop *translate_isl_ast_to_gimple::\n graphite_create_new_loop (edge entry_edge, __isl_keep isl_ast_node *node_for,\n \t\t\t loop_p outer, tree type, tree lb, tree ub,\n \t\t\t ivs_params &ip)\n@@ -603,7 +603,7 @@ translate_isl_ast_for_loop (loop_p context_loop,\n \t\t\t ivs_params &ip)\n {\n gcc_assert (isl_ast_node_get_type (node_for) == isl_ast_node_for);\n- struct loop *loop = graphite_create_new_loop (next_e, node_for, context_loop,\n+ class loop *loop = graphite_create_new_loop (next_e, node_for, context_loop,\n \t\t\t\t\t\ttype, lb, ub, ip);\n edge last_e = single_exit (loop);\n edge to_body = single_succ_edge (loop->header);\ndiff --git a/gcc/graphite-scop-detection.cc b/gcc/graphite-scop-detection.cc\nindex f97f5f5ccc3..bd6b1c35c4f 100644\n--- a/gcc/graphite-scop-detection.cc\n+++ b/gcc/graphite-scop-detection.cc\n@@ -1547,7 +1547,7 @@ build_alias_set (scop_p scop)\n int i, j;\n int *all_vertices;\n \n- struct loop *nest\n+ class loop *nest\n = find_common_loop (scop->scop_info->region.entry->dest->loop_father,\n \t\t\tscop->scop_info->region.exit->src->loop_father);\n \ndiff --git a/gcc/tree-ssa-loop-ivopts.cc b/gcc/tree-ssa-loop-ivopts.cc\nindex 6ecf5bef7b4..c1ae8ca9e19 100644\n--- a/gcc/tree-ssa-loop-ivopts.cc\n+++ b/gcc/tree-ssa-loop-ivopts.cc\n@@ -8060,7 +8060,7 @@ determine_scaling_factor (struct ivopts_data *data, basic_block *body)\n static bool\n find_doloop_use (struct ivopts_data *data)\n {\n- struct loop *loop = data->current_loop;\n+ class loop *loop = data->current_loop;\n \n for (unsigned i = 0; i < data->vgroups.length (); i++)\n {\n@@ -8119,7 +8119,7 @@ analyze_and_mark_doloop_use (struct ivopts_data *data)\n data->doloop_use_p = true;\n if (dump_file && (dump_flags & TDF_DETAILS))\n \t{\n-\t struct loop *loop = data->current_loop;\n+\t class loop *loop = data->current_loop;\n \t fprintf (dump_file,\n \t\t \"Predict loop %d can perform\"\n \t\t \" doloop optimization later.\\n\",\ndiff --git a/gcc/tree-ssa-loop-split.cc b/gcc/tree-ssa-loop-split.cc\nindex 722383a420a..24ae94e0557 100644\n--- a/gcc/tree-ssa-loop-split.cc\n+++ b/gcc/tree-ssa-loop-split.cc\n@@ -859,7 +859,7 @@ public:\n stage of semi-invariant condition. */\n \n static void\n-find_vdef_in_loop (struct loop *loop)\n+find_vdef_in_loop (class loop *loop)\n {\n split_info *info = (split_info *) loop->aux;\n gphi *vphi = get_virtual_phi (loop->header);\n@@ -949,7 +949,7 @@ find_vdef_in_loop (struct loop *loop)\n means BB is control-dependent on at least one basic block in LOOP. */\n \n static basic_block\n-get_control_equiv_head_block (struct loop *loop, basic_block bb)\n+get_control_equiv_head_block (class loop *loop, basic_block bb)\n {\n while (!bb->aux)\n {\n@@ -969,7 +969,7 @@ get_control_equiv_head_block (struct loop *loop, basic_block bb)\n dependent on. */\n \n static hash_set<basic_block> *\n-find_control_dep_blocks (struct loop *loop, basic_block bb)\n+find_control_dep_blocks (class loop *loop, basic_block bb)\n {\n /* BB has same control dependency as loop header, then it is not control-\n dependent on any basic block in LOOP. */\n@@ -1071,7 +1071,7 @@ find_control_dep_blocks (struct loop *loop, basic_block bb)\n /* Forward declaration */\n \n static bool\n-stmt_semi_invariant_p_1 (struct loop *loop, gimple *stmt,\n+stmt_semi_invariant_p_1 (class loop *loop, gimple *stmt,\n \t\t\t const_basic_block skip_head,\n \t\t\t hash_map<gimple *, bool> &stmt_stat);\n \n@@ -1082,7 +1082,7 @@ stmt_semi_invariant_p_1 (struct loop *loop, gimple *stmt,\n NULL, all basic blocks of LOOP are checked. */\n \n static bool\n-vuse_semi_invariant_p (struct loop *loop, gimple *stmt,\n+vuse_semi_invariant_p (class loop *loop, gimple *stmt,\n \t\t const_basic_block skip_head)\n {\n split_info *info = (split_info *) loop->aux;\n@@ -1123,7 +1123,7 @@ vuse_semi_invariant_p (struct loop *loop, gimple *stmt,\n redundant computation in possible following re-check. */\n \n static inline bool\n-ssa_semi_invariant_p (struct loop *loop, tree name,\n+ssa_semi_invariant_p (class loop *loop, tree name,\n \t\t const_basic_block skip_head,\n \t\t hash_map<gimple *, bool> &stmt_stat)\n {\n@@ -1145,7 +1145,7 @@ ssa_semi_invariant_p (struct loop *loop, tree name,\n are excluded from LOOP. */\n \n static bool\n-loop_iter_phi_semi_invariant_p (struct loop *loop, gphi *loop_phi,\n+loop_iter_phi_semi_invariant_p (class loop *loop, gphi *loop_phi,\n \t\t\t\tconst_basic_block skip_head)\n {\n const_edge latch = loop_latch_edge (loop);\n@@ -1249,7 +1249,7 @@ loop_iter_phi_semi_invariant_p (struct loop *loop, gphi *loop_phi,\n in hash map STMT_STAT. */\n \n static bool\n-control_dep_semi_invariant_p (struct loop *loop, basic_block bb,\n+control_dep_semi_invariant_p (class loop *loop, basic_block bb,\n \t\t\t const_basic_block skip_head,\n \t\t\t hash_map<gimple *, bool> &stmt_stat)\n {\n@@ -1284,7 +1284,7 @@ control_dep_semi_invariant_p (struct loop *loop, basic_block bb,\n STMT_STAT. */\n \n static bool\n-stmt_semi_invariant_p_1 (struct loop *loop, gimple *stmt,\n+stmt_semi_invariant_p_1 (class loop *loop, gimple *stmt,\n \t\t\t const_basic_block skip_head,\n \t\t\t hash_map<gimple *, bool> &stmt_stat)\n {\n@@ -1384,7 +1384,7 @@ stmt_semi_invariant_p_1 (struct loop *loop, gimple *stmt,\n blocks dominated by SKIP_HEAD (if non-NULL), are excluded from LOOP. */\n \n static bool\n-stmt_semi_invariant_p (struct loop *loop, gimple *stmt,\n+stmt_semi_invariant_p (class loop *loop, gimple *stmt,\n \t\t const_basic_block skip_head)\n {\n hash_map<gimple *, bool> stmt_stat;\n@@ -1426,7 +1426,7 @@ branch_removable_p (basic_block branch_bb)\n conditional statement remains unchanged in all following iterations. */\n \n static edge\n-get_cond_invariant_branch (struct loop *loop, gcond *cond)\n+get_cond_invariant_branch (class loop *loop, gcond *cond)\n {\n basic_block cond_bb = gimple_bb (cond);\n basic_block targ_bb[2];\n@@ -1481,7 +1481,7 @@ get_cond_invariant_branch (struct loop *loop, gcond *cond)\n loop split upon certain branch (BRANCH_EDGE) of a conditional statement. */\n \n static int\n-compute_added_num_insns (struct loop *loop, const_edge branch_edge)\n+compute_added_num_insns (class loop *loop, const_edge branch_edge)\n {\n basic_block cond_bb = branch_edge->src;\n unsigned branch = EDGE_SUCC (cond_bb, 1) == branch_edge;\n@@ -1561,7 +1561,7 @@ compute_added_num_insns (struct loop *loop, const_edge branch_edge)\n this branch in LOOP. */\n \n static edge\n-get_cond_branch_to_split_loop (struct loop *loop, gcond *cond)\n+get_cond_branch_to_split_loop (class loop *loop, gcond *cond)\n {\n edge invar_branch = get_cond_invariant_branch (loop, cond);\n if (!invar_branch)\n@@ -1628,7 +1628,7 @@ get_cond_branch_to_split_loop (struct loop *loop, gcond *cond)\n constant bool condition, based on which branch is semi-invariant. */\n \n static bool\n-do_split_loop_on_cond (struct loop *loop1, edge invar_branch)\n+do_split_loop_on_cond (class loop *loop1, edge invar_branch)\n {\n basic_block cond_bb = invar_branch->src;\n bool true_invar = !!(invar_branch->flags & EDGE_TRUE_VALUE);\n@@ -1643,7 +1643,7 @@ do_split_loop_on_cond (struct loop *loop1, edge invar_branch)\n \n initialize_original_copy_tables ();\n \n- struct loop *loop2 = loop_version (loop1, boolean_true_node, NULL,\n+ class loop *loop2 = loop_version (loop1, boolean_true_node, NULL,\n \t\t\t\t invar_branch->probability.invert (),\n \t\t\t\t invar_branch->probability,\n \t\t\t\t profile_probability::always (),\n@@ -1713,7 +1713,7 @@ do_split_loop_on_cond (struct loop *loop1, edge invar_branch)\n upon which we can do loop split. */\n \n static bool\n-split_loop_on_cond (struct loop *loop)\n+split_loop_on_cond (class loop *loop)\n {\n split_info *info = new split_info ();\n basic_block *bbs = info->bbs = get_loop_body (loop);\ndiff --git a/gcc/tree-ssa-reassoc.cc b/gcc/tree-ssa-reassoc.cc\nindex 7abbf195520..0ffb17ae97f 100644\n--- a/gcc/tree-ssa-reassoc.cc\n+++ b/gcc/tree-ssa-reassoc.cc\n@@ -1925,7 +1925,7 @@ cleanup_vinfo_map (hash_map<tree, v_info_ptr> &info_map)\n */\n static bool\n undistribute_bitref_for_vector (enum tree_code opcode,\n-\t\t\t\tvec<operand_entry *> *ops, struct loop *loop)\n+\t\t\t\tvec<operand_entry *> *ops, class loop *loop)\n {\n if (ops->length () <= 1)\n return false;\ndiff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc\nindex 5d4af8c8ee5..215c291c460 100644\n--- a/gcc/tree-vect-loop.cc\n+++ b/gcc/tree-vect-loop.cc\n@@ -2757,7 +2757,7 @@ static bool\n vect_better_loop_vinfo_p (loop_vec_info new_loop_vinfo,\n \t\t\t loop_vec_info old_loop_vinfo)\n {\n- struct loop *loop = LOOP_VINFO_LOOP (new_loop_vinfo);\n+ class loop *loop = LOOP_VINFO_LOOP (new_loop_vinfo);\n gcc_assert (LOOP_VINFO_LOOP (old_loop_vinfo) == loop);\n \n poly_int64 new_vf = LOOP_VINFO_VECT_FACTOR (new_loop_vinfo);\ndiff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc\nindex 8fa6a740c96..c440700f0b4 100644\n--- a/gcc/tree-vect-slp.cc\n+++ b/gcc/tree-vect-slp.cc\n@@ -6436,7 +6436,7 @@ public:\n \n private:\n /* Graph building. */\n- struct loop *containing_loop (slp_tree);\n+ class loop *containing_loop (slp_tree);\n bool is_cfg_latch_edge (graph_edge *);\n void build_vertices (hash_set<slp_tree> &, slp_tree);\n void build_vertices ();\n@@ -6623,7 +6623,7 @@ vect_slp_permute (vec<unsigned> perm,\n \n /* Return the cfg loop that contains NODE. */\n \n-struct loop *\n+class loop *\n vect_optimize_slp_pass::containing_loop (slp_tree node)\n {\n stmt_vec_info rep = SLP_TREE_REPRESENTATIVE (node);\n@@ -6748,7 +6748,7 @@ vect_optimize_slp_pass::create_partitions ()\n a natural nesting, but we should get better results when it does. */\n m_partitions.reserve (m_vertices.length ());\n unsigned int next_partition_i = 0;\n- hash_map<struct loop *, int> loop_partitions;\n+ hash_map<class loop *, int> loop_partitions;\n unsigned int rpo_begin = 0;\n unsigned int num_partitioned_nodes = 0;\n for (unsigned int rpo_end : scc_pos)\n@@ -6773,7 +6773,7 @@ vect_optimize_slp_pass::create_partitions ()\n \t\texisted = next_partition_i > partition_i;\n \t else\n \t\t{\n-\t\t struct loop *loop = containing_loop (vertex.node);\n+\t\t class loop *loop = containing_loop (vertex.node);\n \t\t auto &entry = loop_partitions.get_or_insert (loop, &existed);\n \t\t if (!existed)\n \t\t entry = next_partition_i;\ndiff --git a/gcc/tree-vectorizer.cc b/gcc/tree-vectorizer.cc\nindex b73243252c0..fda8ffad5d3 100644\n--- a/gcc/tree-vectorizer.cc\n+++ b/gcc/tree-vectorizer.cc\n@@ -2001,7 +2001,7 @@ vector_costs::compare_inside_loop_cost (const vector_costs *other) const\n loop_vec_info this_loop_vinfo = as_a<loop_vec_info> (this->m_vinfo);\n loop_vec_info other_loop_vinfo = as_a<loop_vec_info> (other->m_vinfo);\n \n- struct loop *loop = LOOP_VINFO_LOOP (this_loop_vinfo);\n+ class loop *loop = LOOP_VINFO_LOOP (this_loop_vinfo);\n gcc_assert (LOOP_VINFO_LOOP (other_loop_vinfo) == loop);\n \n poly_int64 this_vf = LOOP_VINFO_VECT_FACTOR (this_loop_vinfo);\n", "prefixes": [ "05/30" ] }