/* { dg-do compile } */
/* { dg-options "-fopenmp" } */

int step (int x, int y, int z) { return x + y + z; }

int
foo (int x)
{
  int i;
  #pragma omp parallel for linear (x : step (step (1, 2, 3)))
  for (i = 0; i < 64; i++)
    x += 6;
  return x;
}

int
bar (int x)
{
  int i;
  #pragma omp parallel for linear (x : step (1, 2, 3))	/* { dg-error "expected" } */
  for (i = 0; i < 64; i++)
    x += 6;
  return x;
}

int
bar2 (int x)
{
  int i;
  #pragma omp parallel for linear (x : step (1, 2, 3) * 1)
  for (i = 0; i < 64; i++)
    x += 6;
  return x;
}