(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
gomp/
atomic-18.c
       1  int i, v;
       2  float f;
       3  
       4  void
       5  foo (int j)
       6  {
       7    #pragma omp atomic update,update	/* { dg-error "too many atomic clauses" } */
       8    i = i + 1;
       9    #pragma omp atomic seq_cst release	/* { dg-error "too many memory order clauses" } */
      10    i = i + 1;
      11    #pragma omp atomic read,release	/* { dg-error "incompatible with 'release' clause" } */
      12    v = i;
      13    #pragma omp atomic acquire , write	/* { dg-error "incompatible with 'acquire' clause" } */
      14    i = v;
      15    #pragma omp atomic capture hint (0) capture	/* { dg-error "too many 'capture' clauses" } */
      16    v = i = i + 1;
      17    #pragma omp atomic hint(j + 2)	/* { dg-error "constant integer expression" } */
      18    i = i + 1;
      19    #pragma omp atomic hint(f)		/* { dg-error "integ" } */
      20    i = i + 1;
      21    #pragma omp atomic foobar		/* { dg-error "expected 'read', 'write', 'update', 'capture', 'compare', 'weak', 'fail', 'seq_cst', 'acq_rel', 'release', 'relaxed' or 'hint' clause" } */
      22    i = i + 1;				/* { dg-error "expected end of line before" "" { target *-*-* } .-1 } */
      23  }