diff options
Diffstat (limited to 'boost/lockfree/detail/tagged_ptr_dcas.hpp')
-rw-r--r-- | boost/lockfree/detail/tagged_ptr_dcas.hpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/boost/lockfree/detail/tagged_ptr_dcas.hpp b/boost/lockfree/detail/tagged_ptr_dcas.hpp index 83718daea2..f9223506d8 100644 --- a/boost/lockfree/detail/tagged_ptr_dcas.hpp +++ b/boost/lockfree/detail/tagged_ptr_dcas.hpp @@ -21,7 +21,15 @@ namespace detail { template <class T> -class BOOST_ALIGNMENT(2 * sizeof(void*)) tagged_ptr +class +#if BOOST_COMP_MSVC && BOOST_ARCH_X86_64 +BOOST_ALIGNMENT(16) +#elif BOOST_COMP_MSVC && BOOST_ARCH_X86_32 +BOOST_ALIGNMENT(8) +#else +BOOST_ALIGNMENT(2 * sizeof(void*)) +#endif + tagged_ptr { public: typedef std::size_t tag_t; |