Hi Cesar! On Tue, 7 Jul 2015 14:58:20 +0200, I wrote: > On Wed, 1 Jul 2015 07:52:13 -0500, James Norris <jnor...@codesourcery.com> > wrote: > > The independent clause is not available for use > > with device_type clauses associated with loop > > directives. [...]
Independent of this, would you please verify (also for the corresponding Fortran code) that given these changes: > --- gcc/testsuite/c-c++-common/goacc/dtype-1.c > +++ gcc/testsuite/c-c++-common/goacc/dtype-1.c > @@ -53,7 +53,7 @@ test () > for (i3 = 1; i3 < 10; i3++) > #pragma acc loop dtype (nVidia) auto > for (i4 = 1; i4 < 10; i4++) > -#pragma acc loop dtype (nVidia) independent > +#pragma acc loop dtype (nVidia) > for (i5 = 1; i5 < 10; i5++) > #pragma acc loop device_type (nVidia) seq > for (i6 = 1; i6 < 10; i6++) > @@ -69,7 +69,7 @@ test () > for (i3 = 1; i3 < 10; i3++) > #pragma acc loop dtype (nVidia) auto device_type (*) seq > for (i4 = 1; i4 < 10; i4++) > -#pragma acc loop device_type (nVidia) independent device_type (*) seq > +#pragma acc loop device_type (nVidia) device_type (*) seq > for (i5 = 1; i5 < 10; i5++) > #pragma acc loop device_type (nVidia) seq > for (i6 = 1; i6 < 10; i6++) > @@ -85,7 +85,7 @@ test () > for (i3 = 1; i3 < 10; i3++) > #pragma acc loop device_type (nVidiaGPU) auto device_type (*) seq > for (i4 = 1; i4 < 10; i4++) > -#pragma acc loop dtype (nVidiaGPU) independent dtype (*) seq > +#pragma acc loop dtype (nVidiaGPU) dtype (*) seq > for (i5 = 1; i5 < 10; i5++) > #pragma acc loop device_type (nVidiaGPU) seq device_type (*) seq > for (i6 = 1; i6 < 10; i6++) ... it is indeed correct to adjust the scan-tree-dump-times as follows: > @@ -147,7 +147,7 @@ test () > > /* { dg-final { scan-tree-dump-times "acc loop auto private\\(i4\\)" 2 > "omplower" } } */ > > -/* { dg-final { scan-tree-dump-times "acc loop private\\(i5\\)" 2 "omplower" > } } */ > +/* { dg-final { scan-tree-dump-times "acc loop private\\(i5\\)" 1 "omplower" > } } */ > > /* { dg-final { scan-tree-dump-times "acc loop seq private\\(i6\\)" 3 > "omplower" } } */ > > @@ -155,6 +155,6 @@ test () > > /* { dg-final { scan-tree-dump-times "acc loop seq private\\(i4\\)" 1 > "omplower" } } */ > > -/* { dg-final { scan-tree-dump-times "acc loop seq private\\(i5\\)" 1 > "omplower" } } */ > +/* { dg-final { scan-tree-dump-times "acc loop seq private\\(i5\\)" 2 > "omplower" } } */ > > /* { dg-final { cleanup-tree-dump "omplower" } } */ Is possibly something going wrong if there are two consecutive device_type clauses, such as in: #pragma acc loop device_type (nVidia) device_type (*) seq ..., or: #pragma acc loop dtype (nVidiaGPU) dtype (*) seq I'm unclear why I had to apply these scan-tree-dump-times changes? > --- gcc/testsuite/gfortran.dg/goacc/dtype-1.f95 > +++ gcc/testsuite/gfortran.dg/goacc/dtype-1.f95 > @@ -54,7 +54,7 @@ program dtype > do i3 = 1, 10 > !$acc loop device_type (nVidia) auto > do i4 = 1, 10 > - !$acc loop dtype (nVidia) independent > + !$acc loop dtype (nVidia) > do i5 = 1, 10 > !$acc loop dtype (nVidia) seq > do i6 = 1, 10 > @@ -76,7 +76,7 @@ program dtype > do i3 = 1, 10 > !$acc loop device_type (nVidia) auto dtype (*) seq > do i4 = 1, 10 > - !$acc loop dtype (nVidia) independent & > + !$acc loop dtype (nVidia) & > !$acc& dtype (*) seq > do i5 = 1, 10 > !$acc loop device_type (nVidia) seq > @@ -99,7 +99,7 @@ program dtype > do i3 = 1, 10 > !$acc loop dtype (nVidiaGPU) auto device_type (*) seq > do i4 = 1, 10 > - !$acc loop dtype (nVidiaGPU) independent & > + !$acc loop dtype (nVidiaGPU) & > !$acc& dtype (*) seq > do i5 = 1, 10 > !$acc loop dtype (nVidiaGPU) seq device_type (*) seq No adjustment has been necessary here. Grüße, Thomas
pgpBBH0CFfMzm.pgp
Description: PGP signature