(root)/
gcc-13.2.0/
libgomp/
testsuite/
libgomp.c++/
cancel-test.h
       1  #include <stdlib.h>
       2  #include <omp.h>
       3  
       4  struct S
       5  {
       6    static int s;
       7    int v;
       8    S ()
       9    {
      10      #pragma omp atomic
      11      s++;
      12    }
      13  
      14    S (int x)
      15    {
      16      #pragma omp atomic
      17      s++;
      18      v = x;
      19    }
      20  
      21    ~S ()
      22    {
      23      #pragma omp atomic
      24      s--;
      25    }
      26  
      27    S (const S &x)
      28    {
      29      #pragma omp atomic
      30      s++;
      31      v = x.v;
      32    }
      33  
      34    static void
      35    verify ()
      36    {
      37      if (s) abort ();
      38    }
      39  
      40    void
      41    bump ()
      42    {
      43      v++;
      44    }
      45  };
      46  
      47  int S::s = 0;