/* { dg-do compile } */

int x;
const int y;
int bar(void);

void f1(void)
{
  register int z;

  #pragma omp atomic
    x %= 2;		/* { dg-error "invalid operator" } */
  #pragma omp atomic
    x = x + 1;		/* { dg-error "invalid operator" } */
  #pragma omp atomic
    x = 1;		/* { dg-error "invalid operator" } */
  #pragma omp atomic
    ++y;		/* { dg-error "read-only variable" } */
  #pragma omp atomic
    y--;		/* { dg-error "read-only variable" } */
  #pragma omp atomic
    y += 1;		/* { dg-error "read-only variable" } */
  #pragma omp atomic
    z += 1;		/* { dg-error "register variable" } */
  #pragma omp atomic
    bar();		/* { dg-error "invalid operator" } */
  #pragma omp atomic
    bar() += 1;		/* { dg-error "lvalue required" } */
  #pragma omp atomic a	/* { dg-error "expected end of line" } */
    x++;
  #pragma omp atomic
    ;			/* { dg-error "expected expression" } */
  #pragma omp atomic
  #pragma omp atomic	/* { dg-error "expected expression" } */
    ;
  /* Check that we didn't get stuck on the pragma eol marker.  */
  undef;		/* { dg-error "" } */
}
