(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
gomp/
atomic-25.c
       1  /* { dg-do compile } */
       2  
       3  int x, r, z;
       4  double d, v;
       5  long double ld;
       6  
       7  void
       8  foo (int y, double e, long double f)
       9  {
      10    #pragma omp atomic compare update seq_cst
      11    x = x > y ? y : x;
      12    #pragma omp atomic compare relaxed
      13    d = e > d ? e : d;
      14    #pragma omp atomic compare
      15    d = f < d ? f : d;
      16    #pragma omp atomic compare seq_cst fail(relaxed)
      17    x = 12U < x ? 12U : x;
      18    #pragma omp atomic compare
      19    x = x == 7 ? 24 : x;
      20    #pragma omp atomic compare
      21    x = x == 123UL ? 256LL : x;
      22    #pragma omp atomic compare
      23    ld = ld == f ? f + 5.0L : ld;
      24    #pragma omp atomic compare
      25    if (x == 9) { x = 5; }
      26    #pragma omp atomic compare
      27    if (x > 5) { x = 5; }
      28    #pragma omp atomic compare
      29    if (7 > x) { x = 7; }
      30    #pragma omp atomic compare update capture seq_cst fail(acquire)
      31    v = d = f > d ? f : d;
      32    #pragma omp atomic update capture compare
      33    v = x = x < 24ULL ? 24ULL : x;
      34    #pragma omp atomic compare, capture, update
      35    v = x = x == e ? f : x;
      36    #pragma omp atomic capture compare
      37    { v = d; if (d > e) { d = e; } }
      38    #pragma omp atomic compare capture
      39    { if (e < d) { d = e; } v = d; }
      40    #pragma omp atomic compare capture
      41    { y = x; if (x == 42) { x = 7; } }
      42    #pragma omp atomic capture compare weak
      43    { if (x == 42) { x = 7; } y = x; }
      44    #pragma omp atomic capture compare fail(seq_cst)
      45    if (d == 8.0) { d = 16.0; } else { v = d; }
      46    #pragma omp atomic capture compare
      47    { r = x == 8; if (r) { x = 24; } }
      48    #pragma omp atomic compare capture
      49    { r = x == y; if (r) { x = y + 6; } else { z = x; } }
      50  }