diff --git a/compiler-rt/test/tsan/blacklist2.cpp b/compiler-rt/test/tsan/blacklist2.cpp --- a/compiler-rt/test/tsan/blacklist2.cpp +++ b/compiler-rt/test/tsan/blacklist2.cpp @@ -3,7 +3,7 @@ // RUN: echo "fun:*Blacklisted_Thread2*" > %t.blacklist // RUN: echo "fun:*CallTouchGlobal*" >> %t.blacklist -// RUN: %clangxx_tsan %s -fsanitize-blacklist=%t.blacklist -o %t +// RUN: %clangxx_tsan -O1 %s -fsanitize-blacklist=%t.blacklist -o %t // RUN: %deflake %run %t 2>&1 | FileCheck %s #include "test.h" @@ -18,13 +18,13 @@ return NULL; } -void TouchGlobal() { +void TouchGlobal() __attribute__((noinline)) { // CHECK: Previous write of size 4 // CHECK: #0 TouchGlobal{{.*}}blacklist2.cpp:[[@LINE+1]] Global--; } -void CallTouchGlobal() { +void CallTouchGlobal() __attribute__((noinline)) { // CHECK: #1 CallTouchGlobal{{.*}}blacklist2.cpp:[[@LINE+1]] TouchGlobal(); } diff --git a/compiler-rt/test/tsan/free_race.c b/compiler-rt/test/tsan/free_race.c --- a/compiler-rt/test/tsan/free_race.c +++ b/compiler-rt/test/tsan/free_race.c @@ -1,4 +1,4 @@ -// RUN: %clang_tsan %s -o %t +// RUN: %clang_tsan -O1 %s -o %t // RUN: %deflake %run %t | FileCheck %s --check-prefix=CHECK-NOZUPP // RUN: %env_tsan_opts=suppressions='%s.supp':print_suppressions=1 %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-SUPP @@ -15,7 +15,7 @@ return NULL; } -void *Thread2(void *x) { +void *Thread2(void *x) __attribute__((noinline)) { barrier_wait(&barrier); pthread_mutex_lock(&mtx); mem[0] = 42; diff --git a/compiler-rt/test/tsan/longjmp3.cpp b/compiler-rt/test/tsan/longjmp3.cpp --- a/compiler-rt/test/tsan/longjmp3.cpp +++ b/compiler-rt/test/tsan/longjmp3.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_tsan %s -o %t && %deflake %run %t 2>&1 | FileCheck %s +// RUN: %clang_tsan -O1 %s -o %t && %deflake %run %t 2>&1 | FileCheck %s #include #include @@ -17,14 +17,14 @@ x++; } -void badguy() { +void badguy() __attribute__((noinline)) { pthread_mutex_t mtx; pthread_mutex_init(&mtx, 0); pthread_mutex_lock(&mtx); pthread_mutex_destroy(&mtx); } -void mymain() { +void mymain() __attribute__((noinline)) { jmp_buf env; if (setjmp(env) == 42) { badguy(); diff --git a/compiler-rt/test/tsan/longjmp4.cpp b/compiler-rt/test/tsan/longjmp4.cpp --- a/compiler-rt/test/tsan/longjmp4.cpp +++ b/compiler-rt/test/tsan/longjmp4.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_tsan %s -o %t && %deflake %run %t 2>&1 | FileCheck %s +// RUN: %clang_tsan -O1 %s -o %t && %deflake %run %t 2>&1 | FileCheck %s #include #include @@ -20,14 +20,14 @@ x++; } -void badguy() { +void badguy() __attribute__((noinline)) { pthread_mutex_t mtx; pthread_mutex_init(&mtx, 0); pthread_mutex_lock(&mtx); pthread_mutex_destroy(&mtx); } -void mymain() { +void mymain() __attribute__((noinline)) { jmp_buf env; if (setjmp(env) == 42) { badguy(); diff --git a/compiler-rt/test/tsan/race_on_heap.cpp b/compiler-rt/test/tsan/race_on_heap.cpp --- a/compiler-rt/test/tsan/race_on_heap.cpp +++ b/compiler-rt/test/tsan/race_on_heap.cpp @@ -1,4 +1,4 @@ -// RUN: %clangxx_tsan %s -o %t && %deflake %run %t | FileCheck %s +// RUN: %clangxx_tsan -O1 %s -o %t && %deflake %run %t | FileCheck %s #include #include #include @@ -14,7 +14,7 @@ return 0; } -void *alloc() { +void *alloc() __attribute__((noinline)) { return malloc(99); } diff --git a/compiler-rt/test/tsan/race_top_suppression.cpp b/compiler-rt/test/tsan/race_top_suppression.cpp --- a/compiler-rt/test/tsan/race_top_suppression.cpp +++ b/compiler-rt/test/tsan/race_top_suppression.cpp @@ -1,12 +1,12 @@ // RUN: echo "race_top:TopFunction" > %t.supp -// RUN: %clangxx_tsan %s -o %t +// RUN: %clangxx_tsan -O1 %s -o %t // RUN: %env_tsan_opts=suppressions='%t.supp' %run %t 2>&1 | FileCheck %s // RUN: rm %t.supp #include "test.h" int Global; -void TopFunction(int *p) { +void TopFunction(int *p) __attribute__((noinline)) { *p = 1; } diff --git a/compiler-rt/test/tsan/simple_stack.c b/compiler-rt/test/tsan/simple_stack.c --- a/compiler-rt/test/tsan/simple_stack.c +++ b/compiler-rt/test/tsan/simple_stack.c @@ -32,7 +32,7 @@ return NULL; } -void StartThread(pthread_t *t, void *(*f)(void*)) { +void __attribute__((noinline)) StartThread(pthread_t *t, void *(*f)(void*)) { pthread_create(t, NULL, f, NULL); } @@ -46,14 +46,14 @@ return 0; } -// RUN: %clang_tsan %s -o %t && %deflake %run %t 2>&1 | FileCheck %s +// RUN: %clang_tsan -O1 %s -o %t && %deflake %run %t 2>&1 | FileCheck %s // Also check that functions instrumentation can be configured by either driver // or legacy flags: -// RUN: %clangxx_tsan %s -o %t -fno-sanitize-thread-func-entry-exit && %deflake %run %t 2>&1 \ +// RUN: %clangxx_tsan -O1 %s -o %t -fno-sanitize-thread-func-entry-exit && %deflake %run %t 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-FUNC-ENTRY-EXIT-OFF %s -// RUN: %clangxx_tsan %s -o %t -mllvm -tsan-instrument-func-entry-exit=0 && %deflake %run %t 2>&1 \ +// RUN: %clangxx_tsan -O1 %s -o %t -mllvm -tsan-instrument-func-entry-exit=0 && %deflake %run %t 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-FUNC-ENTRY-EXIT-OFF %s // CHECK: WARNING: ThreadSanitizer: data race diff --git a/compiler-rt/test/tsan/sleep_sync.cpp b/compiler-rt/test/tsan/sleep_sync.cpp --- a/compiler-rt/test/tsan/sleep_sync.cpp +++ b/compiler-rt/test/tsan/sleep_sync.cpp @@ -1,9 +1,9 @@ -// RUN: %clangxx_tsan %s -o %t && %deflake %run %t | FileCheck %s +// RUN: %clangxx_tsan -O1 %s -o %t && %deflake %run %t | FileCheck %s #include "test.h" int X = 0; -void MySleep() { +void MySleep() __attribute__((noinline)) { sleep(1); // the sleep that must appear in the report } diff --git a/compiler-rt/test/ubsan/TestCases/Misc/missing_return.cpp b/compiler-rt/test/ubsan/TestCases/Misc/missing_return.cpp --- a/compiler-rt/test/ubsan/TestCases/Misc/missing_return.cpp +++ b/compiler-rt/test/ubsan/TestCases/Misc/missing_return.cpp @@ -1,11 +1,11 @@ -// RUN: %clangxx -fsanitize=return %gmlt %s -o %t +// RUN: %clangxx -fsanitize=return %gmlt %s -O3 -o %t // RUN: not %run %t 2>&1 | FileCheck %s // RUN: %env_ubsan_opts=print_stacktrace=1 not %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-STACKTRACE // Error message does not exact what expected // XFAIL: openbsd // CHECK: missing_return.cpp:[[@LINE+1]]:5: runtime error: execution reached the end of a value-returning function without returning a value -int f() { +int f() __attribute__((noinline)) { // CHECK-STACKTRACE: #0 {{.*}}f{{.*}}missing_return.cpp:[[@LINE-1]] }