1  int i, v;
       2  float f;
       3  
       4  void
       5  foo ()
       6  {
       7    #pragma omp atomic release, hint (0), update
       8    i = i + 1;
       9    #pragma omp atomic hint(0)seq_cst
      10    i = i + 1;
      11    #pragma omp atomic relaxed,update,hint (0)
      12    i = i + 1;
      13    #pragma omp atomic release
      14    i = i + 1;
      15    #pragma omp atomic relaxed
      16    i = i + 1;
      17    #pragma omp atomic acq_rel capture
      18    v = i = i + 1;
      19    #pragma omp atomic capture,acq_rel , hint (1)
      20    v = i = i + 1;
      21    #pragma omp atomic hint(0),acquire capture
      22    v = i = i + 1;
      23    #pragma omp atomic read acquire
      24    v = i;
      25    #pragma omp atomic acq_rel read
      26    v = i;
      27    #pragma omp atomic release,write
      28    i = v;
      29    #pragma omp atomic write,acq_rel
      30    i = v;
      31    #pragma omp atomic hint(1),update,release
      32    f = f + 2.0;
      33    #pragma omp atomic update ,acquire
      34    i = i + 1;
      35    #pragma omp atomic acq_rel update
      36    i = i + 1;
      37    #pragma omp atomic acq_rel,hint(0)
      38    i = i + 1;
      39  }