1  int a, b;
       2  
       3  void
       4  foo (void)
       5  {
       6    #pragma omp flush
       7    #pragma omp flush (a, b)
       8    #pragma omp flush acquire
       9    #pragma omp flush release
      10    #pragma omp flush acq_rel
      11    #pragma omp flush seq_cst
      12    #pragma omp flush relaxed		/* { dg-error "expected 'seq_cst', 'acq_rel', 'release' or 'acquire'" } */
      13    #pragma omp flush foobar		/* { dg-error "expected 'seq_cst', 'acq_rel', 'release' or 'acquire'" } */
      14    #pragma omp flush acquire (a, b)	/* { dg-error "'flush' list specified together with memory order clause" } */
      15    #pragma omp flush release (a, b)	/* { dg-error "'flush' list specified together with memory order clause" } */
      16    #pragma omp flush acq_rel (a, b)	/* { dg-error "'flush' list specified together with memory order clause" } */
      17    #pragma omp flush seq_cst (a, b)	/* { dg-error "'flush' list specified together with memory order clause" } */
      18  }