From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ciao.gmane.io (ciao.gmane.io [116.202.254.214]) by sourceware.org (Postfix) with ESMTPS id 9E3A73858D37 for ; Mon, 10 Oct 2022 07:05:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9E3A73858D37 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=m.gmane-mx.org Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1ohmqU-00049L-52 for fortran@gcc.gnu.org; Mon, 10 Oct 2022 09:05:02 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: fortran@gcc.gnu.org From: Julian Brown Subject: Re: [PATCH v4 4/4] OpenMP/OpenACC: Unordered/non-constant component offset struct mapping Date: Mon, 10 Oct 2022 07:24:54 +0100 Organization: Siemens Message-ID: <20221010072454.20f49013@squid.athome> References: <3ff03cb463d35ffe96b1271a146f24899b2cb573.1665351785.git.julian@codesourcery.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-Reply-To: <3ff03cb463d35ffe96b1271a146f24899b2cb573.1665351785.git.julian@codesourcery.com> X-Newsreader: Claws Mail 4.0.0 (GTK+ 3.24.31; x86_64-pc-linux-gnu) Cc: gcc-patches@gcc.gnu.org X-Spam-Status: No, score=-10.7 required=5.0 tests=BAYES_00,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Message-ID: <20221010062454.pk3MKTNTf5tiB0bNPiBrWqcmb2jpzpZim2fLQx8dcJc@z> On Sun, 9 Oct 2022 14:51:37 -0700 Julian Brown wrote: > diff --git a/libgomp/testsuite/libgomp.fortran/map-subarray-3.f90 > b/libgomp/testsuite/libgomp.fortran/map-subarray-3.f90 new file mode > 100644 index 00000000000..b009a4224cc > --- /dev/null > +++ b/libgomp/testsuite/libgomp.fortran/map-subarray-3.f90 > @@ -0,0 +1,48 @@ > + > +gvar(1)%arr => arr1 > +gvar(2)%arr => arr2 > +gvar(3)%arr => arr3 > + > +gvar(1)%arr = 0 > +gvar(2)%arr = 0 > +gvar(3)%arr = 0 > + > +i = 1 > +j = 2 > + > +!$omp target map(gvar(i)%arr, gvar(j)%arr, gvar(j)%arr(1:5)) > +gvar(i)%arr(1) = gvar(i)%arr(1) + 1 > +gvar(j)%arr(1) = gvar(j)%arr(1) + 2 > +!$omp end target > + > +i = 2 > +j = 1 > + > +!$omp target map(gvar(i)%arr, gvar(j)%arr, gvar(j)%arr(1:5)) > +gvar(i)%arr(1) = gvar(i)%arr(1) + 3 > +gvar(j)%arr(1) = gvar(j)%arr(1) + 4 > +!$omp end target > + > +if (gvar(i)%arr(1).ne.4) stop 1 > +if (gvar(j)%arr(1).ne.6) stop 2 Oops, this should have been: -if (gvar(i)%arr(1).ne.4) stop 1 -if (gvar(j)%arr(1).ne.6) stop 2 +if (gvar(1)%arr(1).ne.5) stop 1 +if (gvar(2)%arr(1).ne.5) stop 2 Julian