From patchwork Fri Oct 1 17:09:04 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julian Brown X-Patchwork-Id: 45702 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 44A6E385B83F for ; Fri, 1 Oct 2021 17:11:39 +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 8CAE7385740A for ; Fri, 1 Oct 2021 17:09:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8CAE7385740A 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: ktHJbcPR+/C+StzZK8ubowiLl1NgCQrPuRzzPmEMcXLDt9+kgwK7OdWuMiRnbjEyS9j4yTKkWK 0tD+DFkvVKMZH3FgUEqNmB2LIq4a2GPCZz9x8z85lqeBSQy1p+uqMoQLYEdN5Bk8uG34E5umYE 4RRazuug54gwnUXf2U41Sxt9U6GzsbH2qQQuraxYy5Lng0dC5YWjSYkgT84RItCRG1iQuaj8Vt yGpnInJywPGrgrGyU56QaHYDftwUsnvh6jg3K2yQSuHoyiettY3U5GIrKlKshHNirVy/geRwAm 58Q799E8FLQjA/7XkDtHuGoh X-IronPort-AV: E=Sophos;i="5.85,339,1624348800"; d="scan'208";a="66726631" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa4.mentor.iphmx.com with ESMTP; 01 Oct 2021 09:09:19 -0800 IronPort-SDR: UJO5EL8VoMWCEQFJ9B62hta67LliBLsAtvyOaYFJ6wxDj6Hg4zPCkhI8zxFOB3T8VA67d+Jkic m8cycL2RYn+MFqYg5VJ0HAhIv5ZNYaIs3KgT+Sy636lhDnXtXo5frPlCi1Sc+7SDFhhJ4spgao tXU0iF+ERuvniOwpKmukosG0u6iCkeECO0xaG66bscZ9WPe2FItnoeReMjkgtRJIHfjBLXwXkW XY7/RaxZwC5k7Oxy82Nhv2p6iW+tvXgGVrYDPLKicnliWzF0WwuBsYttdMVo27yBOiN76HqgKO sAc= From: Julian Brown To: Subject: [PATCH 06/11] OpenMP: Allow array ref components for C & C++ Date: Fri, 1 Oct 2021 10:09:04 -0700 Message-ID: X-Mailer: git-send-email 2.29.2 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-06.mgc.mentorg.com (139.181.222.6) 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 for mainline? 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 e10e6aa8439..d0494cadf05 100644 --- a/gcc/c/c-typeck.c +++ b/gcc/c/c-typeck.c @@ -14815,7 +14815,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 6e954ca06a6..53bd8d236bb 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -7849,7 +7849,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);