Fixed VC 2017 warning
[libcds.git] / cds / details / marked_ptr.h
index 1a02c038b796c82cc2dedbaa55ca93b5c809a695..2a53c34cfec2ee153cef87659d730e0e7ca20d26 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
@@ -162,7 +162,7 @@ namespace cds {
             marked_ptr& operator &=( int nBits ) CDS_NOEXCEPT
             {
                 assert( (nBits & pointer_bitmask) == 0 );
-                m_ptr = to_ptr( to_int() & (pointer_bitmask | nBits) );
+                m_ptr = to_ptr( to_int() & (pointer_bitmask | nBits));
                 return *this;
             }
 
@@ -365,7 +365,7 @@ CDS_CXX11_ATOMIC_BEGIN_NAMESPACE
         {}
 
         CDS_CONSTEXPR explicit atomic(marked_ptr val) CDS_NOEXCEPT
-            : m_atomic( val.all() )
+            : m_atomic( val.all())
         {}
         CDS_CONSTEXPR explicit atomic(T * p) CDS_NOEXCEPT
             : m_atomic( p )
@@ -374,8 +374,8 @@ CDS_CXX11_ATOMIC_BEGIN_NAMESPACE
         atomic(const atomic&) = delete;
         atomic& operator=(const atomic&) = delete;
 
-#if !(CDS_COMPILER == CDS_COMPILER_MSVC && CDS_COMPILER_VERSION <= CDS_COMPILER_MSVC14)
-        // MSVC12, MSVC14: warning C4522: multiple assignment operators specified
+#if !(CDS_COMPILER == CDS_COMPILER_MSVC && CDS_COMPILER_VERSION <= CDS_COMPILER_MSVC14_1)
+        // MSVC12, MSVC14, MSVC14.1: warning C4522: multiple assignment operators specified
         atomic& operator=(const atomic&) volatile = delete;
         marked_ptr operator=(marked_ptr val) volatile CDS_NOEXCEPT
         {