diff options
| author | Kuba Brecka <kuba.brecka@gmail.com> | 2015-11-20 11:13:36 +0000 |
|---|---|---|
| committer | Kuba Brecka <kuba.brecka@gmail.com> | 2015-11-20 11:13:36 +0000 |
| commit | 1a26ff7d170b3db1d140caba9a4e7643429772c8 (patch) | |
| tree | 6493e2cf2bee97ba6e570cfa734477a03b4635af | |
| parent | 8aa56d3cc878bf230bb2d732d214deaaadc59af2 (diff) | |
| download | bcm5719-llvm-1a26ff7d170b3db1d140caba9a4e7643429772c8.tar.gz bcm5719-llvm-1a26ff7d170b3db1d140caba9a4e7643429772c8.zip | |
[tsan] Fix deadlock_detector_stress_test.cc testcase for OS X
On OS X, we don't have pthread spinlocks, let's just use a regular mutex instead. Secondly, pthread_rwlock_t is much larger (200 bytes), so `char padding_[64 - sizeof(pthread_rwlock_t)]` actually underflows.
Differential Revision: http://reviews.llvm.org/D14862
llvm-svn: 253659
| -rw-r--r-- | compiler-rt/test/tsan/deadlock_detector_stress_test.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler-rt/test/tsan/deadlock_detector_stress_test.cc b/compiler-rt/test/tsan/deadlock_detector_stress_test.cc index 8af70b2afb9..41ad5818bdf 100644 --- a/compiler-rt/test/tsan/deadlock_detector_stress_test.cc +++ b/compiler-rt/test/tsan/deadlock_detector_stress_test.cc @@ -56,6 +56,7 @@ class PthreadRecursiveMutex : public PthreadMutex { static bool supports_recursive_lock() { return true; } }; +#ifndef __APPLE__ class PthreadSpinLock { public: PthreadSpinLock() { assert(0 == pthread_spin_init(&mu_, 0)); } @@ -76,6 +77,9 @@ class PthreadSpinLock { pthread_spinlock_t mu_; char padding_[64 - sizeof(pthread_spinlock_t)]; }; +#else +class PthreadSpinLock : public PthreadMutex { }; +#endif class PthreadRWLock { public: @@ -95,7 +99,7 @@ class PthreadRWLock { private: pthread_rwlock_t mu_; - char padding_[64 - sizeof(pthread_rwlock_t)]; + char padding_[256 - sizeof(pthread_rwlock_t)]; }; class LockTest { |

