view gcc/testsuite/c-c++-common/gomp/for-5.c @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents
children
line wrap: on
line source

// { dg-options "-fopenmp" }

void bar (void *);

__attribute__((noinline, noclone)) void
foo (void *qx, void *rx, void *sx, int n)
{
  unsigned short (*q)[n], (*r)[n], (*s)[n], (*p)[n];
  q = (typeof (q)) qx;
  r = (typeof (r)) rx;
  s = (typeof (s)) sx;
  int t = 1;
  int o = -1;
  #pragma omp for
  for (p = q; p != r; p += t)		/* { dg-error "increment is not constant 1 or -1" } */
    bar (p);
  #pragma omp for
  for (p = s; p != r; p += o)		/* { dg-error "increment is not constant 1 or -1" } */
    bar (p);
  #pragma omp for
  for (p = q; p != r; p = p + t)	/* { dg-error "increment is not constant 1 or -1" } */
    bar (p);
  #pragma omp for
  for (p = s; p != r; p = p + o)	/* { dg-error "increment is not constant 1 or -1" } */
    bar (p);
  #pragma omp for
  for (p = q; p != r; p = t + p)	/* { dg-error "increment is not constant 1 or -1" } */
    bar (p);
  #pragma omp for
  for (p = s; p != r; p = o + p)	/* { dg-error "increment is not constant 1 or -1" } */
    bar (p);
  #pragma omp for
  for (p = q; p != r; p += 2)		/* { dg-error "increment is not constant 1 or -1" } */
    bar (p);
  #pragma omp for
  for (p = s; p != r; p -= 2)		/* { dg-error "increment is not constant 1 or -1" } */
    bar (p);
  #pragma omp for
  for (p = q; p != r; p = p + 3)	/* { dg-error "increment is not constant 1 or -1" } */
    bar (p);
  #pragma omp for
  for (p = s; p != r; p = p - 3)	/* { dg-error "increment is not constant 1 or -1" } */
    bar (p);
  #pragma omp for
  for (p = q; p != r; p = 4 + p)	/* { dg-error "increment is not constant 1 or -1" } */
    bar (p);
  #pragma omp for
  for (p = s; p != r; p = -5 + p)	/* { dg-error "increment is not constant 1 or -1" } */
    bar (p);
}