#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
+#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 < 2000
+# 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"
# define CDS_ARCH_LITTLE_ENDIAN
#endif
+// Sanitizer attributes (not supported)
+#define CDS_SUPPRESS_SANITIZE( ... )
+
#include <cds/compiler/vc/compiler_barriers.h>
//@endcond