Fixed VC 2017 warning
authorkhizmax <libcds.dev@gmail.com>
Wed, 8 Mar 2017 08:36:31 +0000 (11:36 +0300)
committerkhizmax <libcds.dev@gmail.com>
Wed, 8 Mar 2017 08:36:31 +0000 (11:36 +0300)
cds/compiler/vc/defs.h
cds/details/marked_ptr.h

index 7d0b382db95b4fc54faa4b4427ee9fda45eef529..4778ec5950b27dd1fab719329061d5ec874ae833 100644 (file)
 #define CDS_COMPILER_VERSION    _MSC_VER
 
 // Compiler name
-// Supported compilers: MS VC 2013
+// Supported compilers: MS VC 2013 +
 // C++ compiler versions:
-#define CDS_COMPILER_MSVC12 1800    // 2013 vc12
-#define CDS_COMPILER_MSVC14 1900    // 2015 vc14
+#define CDS_COMPILER_MSVC12     1800    // 2013 vc12
+#define CDS_COMPILER_MSVC14     1900    // 2015 vc14
+#define CDS_COMPILER_MSVC14_1   1910    // 2017 vc14.1
 
 #if CDS_COMPILER_VERSION < CDS_COMPILER_MSVC12
 #   error "Only MS Visual C++ 12 (2013) Update 4 and above is supported"
 #   define  CDS_COMPILER__NAME  "MS Visual C++ 2015"
 #   define  CDS_COMPILER__NICK  "vc14"
 #   define  CDS_COMPILER_LIBCDS_SUFFIX "vcv140"
+#elif _MSC_VER == 1910
+#   define  CDS_COMPILER__NAME  "MS Visual C++ 2017"
+#   define  CDS_COMPILER__NICK  "vc141"
+#   define  CDS_COMPILER_LIBCDS_SUFFIX "vcv141"
 #else
 #   define  CDS_COMPILER__NAME  "MS Visual C++"
 #   define  CDS_COMPILER__NICK  "msvc"
index db70507b7f2afff484cc56c498b860dc79fad443..2a53c34cfec2ee153cef87659d730e0e7ca20d26 100644 (file)
@@ -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
         {