1406b538dSMatt Kulukundis // RUN: %clangxx_tsan -O1 %s -o %t 2406b538dSMatt Kulukundis // RUN: %deflake %env_tsan_opts=force_background_thread=0:verbosity=1:memory_limit_mb=1000 %run %t 2>&1 | FileCheck %s --implicit-check-not "memory flush check" 3406b538dSMatt Kulukundis // RUN: %deflake %env_tsan_opts=force_background_thread=1:verbosity=1:memory_limit_mb=1000 %run %t 2>&1 | FileCheck %s --check-prefixes=CHECK,THREAD 4406b538dSMatt Kulukundis // RUN: %deflake %env_tsan_opts=force_background_thread=0:verbosity=1:memory_limit_mb=1000 %run %t 1 2>&1 | FileCheck %s --check-prefixes=CHECK,THREAD 5*8f85d520SVitaly Buka 6*8f85d520SVitaly Buka // Fails with: objc[99984]: task_restartable_ranges_register failed (result 0x2e: (os/kern) service not supported) 7*8f85d520SVitaly Buka // UNSUPPORTED: darwin 8*8f85d520SVitaly Buka 9406b538dSMatt Kulukundis #include "test.h" 10406b538dSMatt Kulukundis Thread(void * a)11406b538dSMatt Kulukundisvoid *Thread(void *a) { return nullptr; } 12406b538dSMatt Kulukundis main(int argc,char * argv[])13406b538dSMatt Kulukundisint main(int argc, char *argv[]) { 14406b538dSMatt Kulukundis if (argc > 1) { 15406b538dSMatt Kulukundis pthread_t t; 16406b538dSMatt Kulukundis pthread_create(&t, nullptr, Thread, nullptr); 17406b538dSMatt Kulukundis void *p; 18406b538dSMatt Kulukundis pthread_join(t, &p); 19406b538dSMatt Kulukundis } 20406b538dSMatt Kulukundis sleep(3); 21406b538dSMatt Kulukundis return 1; 22406b538dSMatt Kulukundis } 23406b538dSMatt Kulukundis 24406b538dSMatt Kulukundis // CHECK: Running under ThreadSanitizer 25406b538dSMatt Kulukundis // THREAD: ThreadSanitizer: memory flush check 26