Mercurial > hg > CbC > CbC_llvm
diff compiler-rt/test/tsan/atexit5.cpp @ 236:c4bab56944e8 llvm-original
LLVM 16
author | kono |
---|---|
date | Wed, 09 Nov 2022 17:45:10 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/compiler-rt/test/tsan/atexit5.cpp Wed Nov 09 17:45:10 2022 +0900 @@ -0,0 +1,27 @@ +// RUN: %clangxx_tsan -O1 -fno-inline-functions %s -o %t && %deflake %run %t | FileCheck %s +#include "test.h" +#include <memory> + +std::unique_ptr<long> global(new long(42)); + +void *thread(void *x) { + *global = 43; + barrier_wait(&barrier); + return nullptr; +} + +int main() { + barrier_init(&barrier, 2); + pthread_t th; + pthread_create(&th, nullptr, thread, nullptr); + pthread_detach(th); + barrier_wait(&barrier); + return 0; +} + +// CHECK: WARNING: ThreadSanitizer: data race +// CHECK: Write of size 8 +// The exact spelling and number of std frames is hard to guess. +// CHECK: unique_ptr +// CHECK: #{{[1-9]}} cxa_at_exit_callback_installed_at +// CHECK: #{{[2-9]}} __cxx_global_var_init