// Compiler name
// 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_MSVC14_1 1910 // 2017 vc14.1
+#define CDS_COMPILER_MSVC12 1800 // 2013 vc12
+#define CDS_COMPILER_MSVC14 1900 // 2015 vc14
+#define CDS_COMPILER_MSVC14_1 1910 // 2017 vc14.1
+#define CDS_COMPILER_MSVC14_1_3 1911 // 2017 vc14.1 (VS 15.3)
+#define CDS_COMPILER_MSVC15 2000 // next Visual Studio
#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
+#elif _MSC_VER < 2000
# define CDS_COMPILER__NAME "MS Visual C++ 2017"
# define CDS_COMPILER__NICK "vc141"
# define CDS_COMPILER_LIBCDS_SUFFIX "vcv141"
#ifndef CDS_BUILD_LIB
#ifdef _DEBUG
-# define CDS_LIB_DEBUG_SUFFIX "_debug"
+# define CDS_LIB_DEBUG_SUFFIX "-dbg"
#else
# define CDS_LIB_DEBUG_SUFFIX ""
#endif
-#if CDS_COMPILER == CDS_COMPILER_MSVC
-# pragma comment( lib, "libcds-" CDS_PROCESSOR__NICK "-" CDS_COMPILER_LIBCDS_SUFFIX CDS_LIB_DEBUG_SUFFIX )
-#elif CDS_COMPILER == CDS_COMPILER_INTEL
-# pragma comment( lib, "libcds-" CDS_PROCESSOR__NICK "-" CDS_COMPILER__NICK CDS_LIB_DEBUG_SUFFIX )
-#endif
+#pragma comment( lib, "libcds-" CDS_PROCESSOR__NICK CDS_LIB_DEBUG_SUFFIX )
#undef CDS_LIB_DEBUG_SUFFIX
atomic(const atomic&) = delete;
atomic& operator=(const atomic&) = delete;
-#if !(CDS_COMPILER == CDS_COMPILER_MSVC && CDS_COMPILER_VERSION <= CDS_COMPILER_MSVC14_1)
+#if !(CDS_COMPILER == CDS_COMPILER_MSVC && CDS_COMPILER_VERSION < CDS_COMPILER_MSVC15)
// 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
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">libcds-x86-vc$(PlatformToolset)_debug</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='DebugVLD|Win32'">libcds-x86-vc$(PlatformToolset)_debug</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">libcds-x86-vc$(PlatformToolset)</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">libcds-amd64-vc$(PlatformToolset)_debug</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='DebugVLD|x64'">libcds-amd64-vc$(PlatformToolset)_debug</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">libcds-amd64-vc$(PlatformToolset)</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">libcds-x86-dbg</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='DebugVLD|Win32'">libcds-x86-dbg</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">libcds-x86</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">libcds-amd64-dbg</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='DebugVLD|x64'">libcds-amd64-dbg</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">libcds-amd64</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>