On Mon, May 27, 2024 at 10:36:26AM +0530, Tejas Belagod wrote: > This patch tests if SVE type objects when applied to doacross clause are > correctly diagnosed. > > gcc/testsuite/ChangeLog > > * gcc.target/aarch64/sve/omp/doacross.c: New test. > --- > .../gcc.target/aarch64/sve/omp/doacross.c | 22 +++++++++++++++++++ > 1 file changed, 22 insertions(+) > create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/omp/doacross.c > > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/omp/doacross.c > b/gcc/testsuite/gcc.target/aarch64/sve/omp/doacross.c > new file mode 100644 > index 00000000000..a311887926b > --- /dev/null > +++ b/gcc/testsuite/gcc.target/aarch64/sve/omp/doacross.c > @@ -0,0 +1,22 @@ > +/* { dg-do compile } */ > +/* { dg-options "-msve-vector-bits=256 -std=gnu99 -fopenmp -O2 > -fdump-tree-ompexp" } */ > + > +#include <arm_sve.h> > + > +int a[256]; > + > +__attribute__((noinline, noclone)) int > +f1 (svint32_t va) > +{ > + int j; > + #pragma omp for ordered (1) > + for (j = 16; j < 64; j++) > + { > + #pragma omp ordered doacross(sink: va) /* { dg-error {variable 'va' is > not an iteration of outermost loop 1, expected 'j'} } */ > + a[j - 1] = j + svaddv_s32 (svptrue_b32 (), va); > + #pragma omp ordered doacross(source: omp_cur_iteration) > + j += 4; > + va = svindex_s32 (0,1); > + } > + return j; > +}
Ok pending the test placement. You don't need -fdump-tree-ompexp for anything though, do you? Jakub