summaryrefslogtreecommitdiffstats
path: root/compiler-rt/test/asan/TestCases/deep_thread_stack.cc
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2015-08-12 22:58:56 +0000
committerReid Kleckner <rnk@google.com>2015-08-12 22:58:56 +0000
commite7ffbffaef0d820e3227b43881288b1cf222af90 (patch)
treeb83aee48ea59a095f307166da99f7d089ca79bc4 /compiler-rt/test/asan/TestCases/deep_thread_stack.cc
parent8533e96e42d9e3c3f1a89fb4e8102b192a153370 (diff)
downloadbcm5719-llvm-e7ffbffaef0d820e3227b43881288b1cf222af90.tar.gz
bcm5719-llvm-e7ffbffaef0d820e3227b43881288b1cf222af90.zip
Move tests that use unistd.h and pthread.h to TestCases/Posix
llvm-svn: 244827
Diffstat (limited to 'compiler-rt/test/asan/TestCases/deep_thread_stack.cc')
-rw-r--r--compiler-rt/test/asan/TestCases/deep_thread_stack.cc58
1 files changed, 0 insertions, 58 deletions
diff --git a/compiler-rt/test/asan/TestCases/deep_thread_stack.cc b/compiler-rt/test/asan/TestCases/deep_thread_stack.cc
deleted file mode 100644
index 535da79ff58..00000000000
--- a/compiler-rt/test/asan/TestCases/deep_thread_stack.cc
+++ /dev/null
@@ -1,58 +0,0 @@
-// RUN: %clangxx_asan -O0 %s -pthread -o %t && not %run %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O1 %s -pthread -o %t && not %run %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O2 %s -pthread -o %t && not %run %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O3 %s -pthread -o %t && not %run %t 2>&1 | FileCheck %s
-// REQUIRES: stable-runtime
-
-#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