(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
gomp/
atomic-14.c
       1  /* PR middle-end/45423 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-fopenmp -Wno-deprecated" } */
       4  /* { dg-skip-if "invalid in C++17" { c++17 } } */
       5  
       6  #ifdef __cplusplus
       7  bool *baz ();
       8  #else
       9  _Bool *baz ();
      10  #endif
      11  int *bar ();
      12  
      13  int
      14  foo (void)
      15  {
      16    #pragma omp barrier
      17    #pragma omp atomic
      18      (*bar ())++;
      19    #pragma omp barrier
      20    #pragma omp atomic
      21      ++(*bar ());
      22    #pragma omp barrier
      23    #pragma omp atomic
      24      (*bar ())--;
      25    #pragma omp barrier
      26    #pragma omp atomic
      27      --(*bar ());
      28    #pragma omp barrier
      29    #pragma omp atomic
      30      (*baz ())++;
      31    #pragma omp barrier
      32    #pragma omp atomic
      33      ++(*baz ());
      34  #ifndef __cplusplus
      35    #pragma omp barrier
      36    #pragma omp atomic
      37      (*baz ())--;
      38    #pragma omp barrier
      39    #pragma omp atomic
      40      --(*baz ());
      41    #pragma omp barrier
      42  #endif
      43    return 0;
      44  }