1/* { dg-do compile } */ 2 3extern int sched_yield (void); 4static volatile int serial = 0; 5 6__attribute__((no_sanitize_thread)) 7void 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" } } */ 16