summaryrefslogtreecommitdiff
path: root/boost/lockfree/detail/tagged_ptr_dcas.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/lockfree/detail/tagged_ptr_dcas.hpp')
-rw-r--r--boost/lockfree/detail/tagged_ptr_dcas.hpp10
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;