[TSan] fix a typo in test dependencies. Silence few remaining pedantic gcc warnings in TSan tests.

llvm-svn: 164115
This commit is contained in:
Alexey Samsonov 2012-09-18 08:33:37 +00:00
parent ea05256b58
commit 3040830fcd
4 changed files with 12 additions and 6 deletions

View File

@ -19,7 +19,7 @@ if("${CMAKE_HOST_SYSTEM}" STREQUAL "${CMAKE_SYSTEM}")
tsan_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg tsan_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
) )
if(LLVM_INCLUDE_TESTS) if(LLVM_INCLUDE_TESTS)
list(APPEND ASAN_TEST_DEPS TsanUnitTests) list(APPEND TSAN_TEST_DEPS TsanUnitTests)
endif() endif()
add_lit_testsuite(check-tsan "Running ThreadSanitizer tests" add_lit_testsuite(check-tsan "Running ThreadSanitizer tests"
${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}

View File

@ -28,11 +28,13 @@ TEST(ThreadSanitizer, FuncCall) {
t2.Return(); t2.Return();
} }
int main(int argc, char **argv) { // We use this function instead of main, as ISO C++ forbids taking the address
// of main, which we need to pass inside __tsan_func_entry.
int run_tests(int argc, char **argv) {
TestMutexBeforeInit(); // Mutexes must be usable before __tsan_init(); TestMutexBeforeInit(); // Mutexes must be usable before __tsan_init();
__tsan_init(); __tsan_init();
__tsan_func_entry(__builtin_return_address(0)); __tsan_func_entry(__builtin_return_address(0));
__tsan_func_entry((char*)&main + 1); __tsan_func_entry((void*)((uintptr_t)&run_tests + 1));
testing::GTEST_FLAG(death_test_style) = "threadsafe"; testing::GTEST_FLAG(death_test_style) = "threadsafe";
testing::InitGoogleTest(&argc, argv); testing::InitGoogleTest(&argc, argv);
@ -42,3 +44,7 @@ int main(int argc, char **argv) {
__tsan_func_exit(); __tsan_func_exit();
return res; return res;
} }
int main(int argc, char **argv) {
return run_tests(argc, argv);
}

View File

@ -397,7 +397,7 @@ void ScopedThread::VptrUpdate(const MemLoc &vptr,
} }
void ScopedThread::Call(void(*pc)()) { void ScopedThread::Call(void(*pc)()) {
Event event(Event::CALL, (void*)pc); Event event(Event::CALL, (void*)((uintptr_t)pc));
impl_->send(&event); impl_->send(&event);
} }

View File

@ -19,14 +19,14 @@ namespace __tsan {
TEST(Flags, Basic) { TEST(Flags, Basic) {
ScopedInRtl in_rtl; ScopedInRtl in_rtl;
// At least should not crash. // At least should not crash.
Flags f = {}; Flags f;
InitializeFlags(&f, 0); InitializeFlags(&f, 0);
InitializeFlags(&f, ""); InitializeFlags(&f, "");
} }
TEST(Flags, DefaultValues) { TEST(Flags, DefaultValues) {
ScopedInRtl in_rtl; ScopedInRtl in_rtl;
Flags f = {}; Flags f;
f.enable_annotations = false; f.enable_annotations = false;
f.exitcode = -11; f.exitcode = -11;