// S : tags libc c threads // S : expect --result valid // S : cc -o test.bc -D_PDCLIB_BUILD -DTEST -std=c11 $file // S : verify -o nofail:malloc test.bc #include "_PDCLIB_test.h" #include "threads.h" #ifndef REGTEST static int count = 0; static once_flag once = ONCE_FLAG_INIT; static void do_once(void) { count++; } #endif int main( void ) { #ifndef REGTEST TESTCASE(count == 0); call_once(&once, do_once); TESTCASE(count == 1); call_once(&once, do_once); TESTCASE(count == 1); do_once(); TESTCASE(count == 2); #endif return TEST_RESULTS; }