# HG changeset patch
# User Sebastien Jodogne <s.jodogne@gmail.com>
# Date 1583169160 -3600
# Node ID 0504cc83486a686502269af9944e3b09cb26a6b4
# Parent  56f2397f027aa54ae7fe9341861957660a471acb# Parent  e9029cb94d7c974eb13e4140272163e03a05bb08
integration mainline->storage-commitment

diff -r 56f2397f027a -r 0504cc83486a Core/Compatibility.h
--- a/Core/Compatibility.h	Mon Mar 02 15:42:17 2020 +0100
+++ b/Core/Compatibility.h	Mon Mar 02 18:12:40 2020 +0100
@@ -33,7 +33,23 @@
 
 #pragma once
 
-#if __cplusplus < 201103L
+// __cplusplus cannot be used in Visual C++ versions older than 1914
+#if (defined _MSC_VER) && (_MSC_VER < 1914)
+#  if _MSC_VER < 1900
+#    define ORTHANC_Cxx03_DETECTED 1
+#  else
+#    define ORTHANC_Cxx03_DETECTED 0
+#  endif
+#else
+#  if __cplusplus < 201103L
+#    define ORTHANC_Cxx03_DETECTED 1
+#  else
+#    define ORTHANC_Cxx03_DETECTED 0
+#  endif
+#endif
+
+
+#if ORTHANC_Cxx03_DETECTED == 1
 /**
  * "std::unique_ptr" was introduced in C++11, and "std::auto_ptr" was
  * removed in C++17. We emulate "std::auto_ptr" using boost: "The