From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1534) id 09E31385843E; Wed, 19 Oct 2022 15:34:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 09E31385843E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1666193686; bh=OTm68HH0tpUpdTo8MP6Pu1iYNToEDhfVh0+d24a9q14=; h=From:To:Subject:Date:From; b=OqgU8kTztuhs/5cpFl2Ccy8CqeigZKh2arKEgGBvl9YCyL4hDKMerxtW7sFCIiJ9E hBjIp4WIRO6AKyJHKbTzFjxqWN5eyv9gHPIzY37jCSL/P5RAH77OVsQTFwUVJNQE5a F8LF+rpm9KY7ObaLXN1w+G23qGu0h8FfZROr3G+s= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Tobias Burnus To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/omp/gcc-12] Fix omp-expand.cc's expand_omp_target for OpenACC X-Act-Checkin: gcc X-Git-Author: Tobias Burnus X-Git-Refname: refs/heads/devel/omp/gcc-12 X-Git-Oldrev: 92b14810a2743594df945dc6479413a3d9d943aa X-Git-Newrev: 0d6fc5032c7ba8a95301d0ccbc418875e73955ac Message-Id: <20221019153446.09E31385843E@sourceware.org> Date: Wed, 19 Oct 2022 15:34:46 +0000 (GMT) List-Id: https://gcc.gnu.org/g:0d6fc5032c7ba8a95301d0ccbc418875e73955ac commit 0d6fc5032c7ba8a95301d0ccbc418875e73955ac Author: Tobias Burnus Date: Wed Oct 19 17:31:14 2022 +0200 Fix omp-expand.cc's expand_omp_target for OpenACC In OG12 commit a6c1eccffb161130351d891dc87f5afe54f8075c, "Fortran/OpenMP: Support mapping of DT with allocatable components" the size of the addr/sizes/kind arrays was passed as 4th argument. However, OpenACC uses >3 arguments for its own purpose, e.g. to handle noncontiguous arrays by passing an array descriptor there. This patch restores the previous behaviour for OpenACC, fixing testcases like libgomp.oacc-c-c++-common/noncontig_array-1.c. gcc/ * omp-expand.cc (expand_omp_target): Fix OpenACC in case there are more than 3 arguments to the builtin function. Diff: --- gcc/ChangeLog.omp | 5 +++++ gcc/omp-expand.cc | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog.omp b/gcc/ChangeLog.omp index 527a9850dba..32a8c7b485f 100644 --- a/gcc/ChangeLog.omp +++ b/gcc/ChangeLog.omp @@ -1,3 +1,8 @@ +2022-10-19 Tobias Burnus + + * omp-expand.cc (expand_omp_target): Fix OpenACC in case there + are more than 3 arguments to the builtin function. + 2022-10-17 Thomas Schwinge Backported from master: diff --git a/gcc/omp-expand.cc b/gcc/omp-expand.cc index 92996685d41..6529f63362b 100644 --- a/gcc/omp-expand.cc +++ b/gcc/omp-expand.cc @@ -10456,7 +10456,7 @@ expand_omp_target (struct omp_region *region) t3 = t2; t4 = t2; } - else if (TREE_VEC_LENGTH (t) == 3) + else if (TREE_VEC_LENGTH (t) == 3 || is_gimple_omp_oacc (entry_stmt)) { t1 = TYPE_MAX_VALUE (TYPE_DOMAIN (TREE_TYPE (TREE_VEC_ELT (t, 1)))); t1 = size_binop (PLUS_EXPR, t1, size_int (1));