From patchwork Thu Nov 25 14:08:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julian Brown X-Patchwork-Id: 48147 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8019A385C405 for ; Thu, 25 Nov 2021 14:14:04 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from esa4.mentor.iphmx.com (esa4.mentor.iphmx.com [68.232.137.252]) by sourceware.org (Postfix) with ESMTPS id E8B283858424 for ; Thu, 25 Nov 2021 14:09:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E8B283858424 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com IronPort-SDR: 0zDhyCIABMIxlHFWNdsHR+SEPcdmup0IdDanR7Pp5Utyu9u1Xq4bhKmjii4tLztkKNUDn1Z93N zbkKlR+uAY15O3uqmRLLssvbOffQJJQlbiP4BZ+syHALfkj4RikKoBhuk8tSLPnqQCCrd68Gfb hwzTFw5a0A54tbh9cyERizGeleXeO1A509hID/YeQobZePxrrH/PsRi0q8Ys8Gsa0+P7Lit9lq bOXOygg6FCBMIuKZVOCPGgd5FnUbSy895XV4+jWxIQMhADENjglX9EkYWVWfS/J/4ldG2EF+XB +ZTdKHkTtfw60cV9ifBaXBr0 X-IronPort-AV: E=Sophos;i="5.87,263,1631606400"; d="scan'208";a="68932318" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa4.mentor.iphmx.com with ESMTP; 25 Nov 2021 06:09:03 -0800 IronPort-SDR: Cy6/qvQQHJ17WWWjDBpr5t6hZsGT9C8be22WnZl5XuM8PDWVi2LWdy8mjTzSxlk+QXIB0S1OCC e/AOKD9z+hs/5XAolw2Xu9DbJlZoZ0eAuRKDTMgOxRF/a0YSc/4M4sgUj5XKzUe/hzMwSaqGzc xeq5Ko5OeJkDlMp2zzye1dMG8zM2DC2q2j4iS3kJJ7hf01P7QEA/tiFcJXHOLI0k1Q21j2le3R rdpCyFz2W2mkrkvTpsTQYfPxC/XzcTc2XQ+QQ//AY4V++zLS2siX9K1HYmPUYVdWVq8z+MyEsI q10= From: Julian Brown To: Subject: [PATCH 09/16] OpenMP: Allow array ref components for C & C++ Date: Thu, 25 Nov 2021 06:08:43 -0800 Message-ID: <20211125140843.111405-5-julian@codesourcery.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20211125140843.111405-1-julian@codesourcery.com> References: <20211125140843.111405-1-julian@codesourcery.com> MIME-Version: 1.0 X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: SVR-IES-MBX-08.mgc.mentorg.com (139.181.222.8) To SVR-IES-MBX-04.mgc.mentorg.com (139.181.222.4) X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jakub Jelinek , Thomas Schwinge Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" This patch fixes parsing for struct components that are array references in OMP clauses in both the C and C++ front ends. OK? Thanks, Julian 2021-09-29 Julian Brown gcc/c/ * c-typeck.c (c_finish_omp_clauses): Allow ARRAY_REF components. gcc/cp/ * semantics.c (finish_omp_clauses): Allow ARRAY_REF components. --- gcc/c/c-typeck.c | 3 ++- gcc/cp/semantics.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/c/c-typeck.c b/gcc/c/c-typeck.c index ee6362d4274..4d156f6d3ec 100644 --- a/gcc/c/c-typeck.c +++ b/gcc/c/c-typeck.c @@ -14918,7 +14918,8 @@ c_finish_omp_clauses (tree clauses, enum c_omp_region_type ort) { t = TREE_OPERAND (t, 0); if (TREE_CODE (t) == MEM_REF - || TREE_CODE (t) == INDIRECT_REF) + || TREE_CODE (t) == INDIRECT_REF + || TREE_CODE (t) == ARRAY_REF) { t = TREE_OPERAND (t, 0); STRIP_NOPS (t); diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 50f95751d1c..e882c302f31 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -7910,7 +7910,8 @@ finish_omp_clauses (tree clauses, enum c_omp_region_type ort) if (REFERENCE_REF_P (t)) t = TREE_OPERAND (t, 0); if (TREE_CODE (t) == MEM_REF - || TREE_CODE (t) == INDIRECT_REF) + || TREE_CODE (t) == INDIRECT_REF + || TREE_CODE (t) == ARRAY_REF) { t = TREE_OPERAND (t, 0); STRIP_NOPS (t);