From 0e90799071ee78f712f3b58fca7000bc0a258ade Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Thu, 7 Oct 2021 18:28:04 +0100 Subject: [PATCH] libstdc++: Avoid use of hardware interference non-constant [PR102377] libstdc++-v3/ChangeLog: PR libstdc++/102377 * include/bits/atomic_wait.h (__waiter_pool_base:_S_align): Hardcode to 64 instead of using non-constant constant. --- libstdc++-v3/include/bits/atomic_wait.h | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/libstdc++-v3/include/bits/atomic_wait.h b/libstdc++-v3/include/bits/atomic_wait.h index 35c926441467..2ac07ccd05e5 100644 --- a/libstdc++-v3/include/bits/atomic_wait.h +++ b/libstdc++-v3/include/bits/atomic_wait.h @@ -190,11 +190,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION struct __waiter_pool_base { -#ifdef __cpp_lib_hardware_interference_size - static constexpr auto _S_align = hardware_destructive_interference_size; -#else - static constexpr auto _S_align = 64; -#endif + // Don't use std::hardware_destructive_interference_size here because we + // don't want the layout of library types to depend on compiler options. + static constexpr auto _S_align = 64; alignas(_S_align) __platform_wait_t _M_wait = 0; -- 2.47.2