(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
tsan/
step.c
       1  /* { dg-do compile } */
       2  
       3  extern int sched_yield (void);
       4  static volatile int serial = 0;
       5  
       6  __attribute__((no_sanitize_thread))
       7  void step (int i)
       8  {
       9     while (__atomic_load_n (&serial, __ATOMIC_ACQUIRE) != i - 1)
      10       sched_yield ();
      11     __atomic_store_n (&serial, i, __ATOMIC_RELEASE);
      12  }
      13  
      14  /* { dg-final { scan-assembler-not "__tsan_func_entry" } } */
      15  /* { dg-final { scan-assembler-not "__tsan_func_exit" } } */