[compiler-rt] 74b8fca - sanitizer_common: revert StaticSpinMutex ctor
Dmitry Vyukov via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 21 00:22:15 PDT 2021
Author: Dmitry Vyukov
Date: 2021-07-21T09:22:09+02:00
New Revision: 74b8fca9e4c609b4e9890b2daf6e2ff052d9dbd9
URL: https://github.com/llvm/llvm-project/commit/74b8fca9e4c609b4e9890b2daf6e2ff052d9dbd9
DIFF: https://github.com/llvm/llvm-project/commit/74b8fca9e4c609b4e9890b2daf6e2ff052d9dbd9.diff
LOG: sanitizer_common: revert StaticSpinMutex ctor
Patch "sanitizer_common: modernize SpinMutex" added default
ctor to StaticSpinMutex. But it broke some gcc bots with:
scudo_tsd_exclusive.cpp:25:22: error: non-local variable
‘__scudo::TSD’ declared ‘__thread’ needs dynamic initialization
https://lab.llvm.org/buildbot/#/builders/105/builds/12649
Unfortunatly none of empty ctor {}, no ctor, default constexpr ctor
work for different reasons. So remove StaticSpinMutex ctor
entirely and move deleted copy ctor back to SpinMutex.
Differential Revision: https://reviews.llvm.org/D106424
Added:
Modified:
compiler-rt/lib/sanitizer_common/sanitizer_mutex.h
Removed:
################################################################################
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_mutex.h b/compiler-rt/lib/sanitizer_common/sanitizer_mutex.h
index f146d4e17fe01..c01e3adbf2fb5 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_mutex.h
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_mutex.h
@@ -22,8 +22,6 @@ namespace __sanitizer {
class MUTEX StaticSpinMutex {
public:
- StaticSpinMutex() = default;
-
void Init() {
atomic_store(&state_, 0, memory_order_relaxed);
}
@@ -48,9 +46,6 @@ class MUTEX StaticSpinMutex {
atomic_uint8_t state_;
void LockSlow();
-
- StaticSpinMutex(const StaticSpinMutex &) = delete;
- void operator=(const StaticSpinMutex &) = delete;
};
class MUTEX SpinMutex : public StaticSpinMutex {
@@ -58,6 +53,9 @@ class MUTEX SpinMutex : public StaticSpinMutex {
SpinMutex() {
Init();
}
+
+ SpinMutex(const SpinMutex &) = delete;
+ void operator=(const SpinMutex &) = delete;
};
// Semaphore provides an OS-dependent way to park/unpark threads.
More information about the llvm-commits
mailing list