summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/asan/lit_tests/deep_thread_stack.cc
diff options
context:
space:
mode:
authorAlexey Samsonov <samsonov@google.com>2013-06-06 09:23:34 +0000
committerAlexey Samsonov <samsonov@google.com>2013-06-06 09:23:34 +0000
commit2874f70250286e581c3b15be0f1f8ad3b9e86aa5 (patch)
tree30f7d3da64697083dc294311eac536d1421bb989 /compiler-rt/lib/asan/lit_tests/deep_thread_stack.cc
parent15439bcf79decf81f94bfaf2e4b39167bf954b18 (diff)
downloadbcm5719-llvm-2874f70250286e581c3b15be0f1f8ad3b9e86aa5.tar.gz
bcm5719-llvm-2874f70250286e581c3b15be0f1f8ad3b9e86aa5.zip
[ASan] move all lit_tests under TestCases
llvm-svn: 183395
Diffstat (limited to 'compiler-rt/lib/asan/lit_tests/deep_thread_stack.cc')
-rw-r--r--compiler-rt/lib/asan/lit_tests/deep_thread_stack.cc61
1 files changed, 0 insertions, 61 deletions
diff --git a/compiler-rt/lib/asan/lit_tests/deep_thread_stack.cc b/compiler-rt/lib/asan/lit_tests/deep_thread_stack.cc
deleted file mode 100644
index 781508d6161..00000000000
--- a/compiler-rt/lib/asan/lit_tests/deep_thread_stack.cc
+++ /dev/null
@@ -1,61 +0,0 @@
-// RUN: %clangxx_asan -m64 -O0 %s -o %t && %t 2>&1 | %symbolize | FileCheck %s
-// RUN: %clangxx_asan -m64 -O1 %s -o %t && %t 2>&1 | %symbolize | FileCheck %s
-// RUN: %clangxx_asan -m64 -O2 %s -o %t && %t 2>&1 | %symbolize | FileCheck %s
-// RUN: %clangxx_asan -m64 -O3 %s -o %t && %t 2>&1 | %symbolize | FileCheck %s
-// RUN: %clangxx_asan -m32 -O0 %s -o %t && %t 2>&1 | %symbolize | FileCheck %s
-// RUN: %clangxx_asan -m32 -O1 %s -o %t && %t 2>&1 | %symbolize | FileCheck %s
-// RUN: %clangxx_asan -m32 -O2 %s -o %t && %t 2>&1 | %symbolize | FileCheck %s
-// RUN: %clangxx_asan -m32 -O3 %s -o %t && %t 2>&1 | %symbolize | FileCheck %s
-
-#include <pthread.h>
-
-int *x;
-
-void *AllocThread(void *arg) {
- x = new int;
- *x = 42;
- return NULL;
-}
-
-void *FreeThread(void *arg) {
- delete x;
- return NULL;
-}
-
-void *AccessThread(void *arg) {
- *x = 43; // BOOM
- return NULL;
-}
-
-typedef void* (*callback_type)(void* arg);
-
-void *RunnerThread(void *function) {
- pthread_t thread;
- pthread_create(&thread, NULL, (callback_type)function, NULL);
- pthread_join(thread, NULL);
- return NULL;
-}
-
-void RunThread(callback_type function) {
- pthread_t runner;
- pthread_create(&runner, NULL, RunnerThread, (void*)function);
- pthread_join(runner, NULL);
-}
-
-int main(int argc, char *argv[]) {
- RunThread(AllocThread);
- RunThread(FreeThread);
- RunThread(AccessThread);
- return (x != 0);
-}
-
-// CHECK: AddressSanitizer: heap-use-after-free
-// CHECK: WRITE of size 4 at 0x{{.*}} thread T[[ACCESS_THREAD:[0-9]+]]
-// CHECK: freed by thread T[[FREE_THREAD:[0-9]+]] here:
-// CHECK: previously allocated by thread T[[ALLOC_THREAD:[0-9]+]] here:
-// CHECK: Thread T[[ACCESS_THREAD]] created by T[[ACCESS_RUNNER:[0-9]+]] here:
-// CHECK: Thread T[[ACCESS_RUNNER]] created by T0 here:
-// CHECK: Thread T[[FREE_THREAD]] created by T[[FREE_RUNNER:[0-9]+]] here:
-// CHECK: Thread T[[FREE_RUNNER]] created by T0 here:
-// CHECK: Thread T[[ALLOC_THREAD]] created by T[[ALLOC_RUNNER:[0-9]+]] here:
-// CHECK: Thread T[[ALLOC_RUNNER]] created by T0 here:
OpenPOWER on IntegriCloud