diff options
| author | Alexey Samsonov <samsonov@google.com> | 2013-06-06 09:23:34 +0000 |
|---|---|---|
| committer | Alexey Samsonov <samsonov@google.com> | 2013-06-06 09:23:34 +0000 |
| commit | 2874f70250286e581c3b15be0f1f8ad3b9e86aa5 (patch) | |
| tree | 30f7d3da64697083dc294311eac536d1421bb989 /compiler-rt/lib/asan/lit_tests/deep_thread_stack.cc | |
| parent | 15439bcf79decf81f94bfaf2e4b39167bf954b18 (diff) | |
| download | bcm5719-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.cc | 61 |
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: |

