summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorBe <be@mixxx.org>2020-11-13 14:51:17 -0600
committerBe <be@mixxx.org>2020-11-14 16:20:44 -0600
commitc6e3278a5e6152ed6aee19b96c2ad12a4ce60884 (patch)
treed8ed6a02bf9a4553e68f33af3cfb1bc3ce3fa64d /lib
parente8d53072e489f061f9339f67ab59b386c779b7cd (diff)
SPSCQueue: hack around libc++ bug on macOS
Diffstat (limited to 'lib')
-rw-r--r--lib/rigtorp/SPSCQueue/include/rigtorp/SPSCQueue.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/rigtorp/SPSCQueue/include/rigtorp/SPSCQueue.h b/lib/rigtorp/SPSCQueue/include/rigtorp/SPSCQueue.h
index b2bb56f9cf..d09f0d3f10 100644
--- a/lib/rigtorp/SPSCQueue/include/rigtorp/SPSCQueue.h
+++ b/lib/rigtorp/SPSCQueue/include/rigtorp/SPSCQueue.h
@@ -186,7 +186,10 @@ public:
size_t capacity() const noexcept { return capacity_ - 1; }
private:
-#ifdef __cpp_lib_hardware_interference_size
+// on macOS there is a bug in libc++ where __cpp_lib_hardware_interference_size
+// is defined but std::hardware_destructive_interference_size is not actually implemented
+// https://bugs.llvm.org/show_bug.cgi?id=41423
+#if defined(__cpp_lib_hardware_interference_size) && ! defined(__APPLE__)
static constexpr size_t kCacheLineSize =
std::hardware_destructive_interference_size;
#else