aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2017-01-06 15:44:13 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2017-01-06 15:44:13 +0100
commite383d6159af1b726ebcd1bed3f082fe9e52275af (patch)
treeaef12c9da63cf71971793bf879ba6c03b98c8e68 /Eigen
parentf3f026c9aacfc3ad28c54b4f5287b7b58e62d8ac (diff)
MSVC 2015 has all we want about c++11 and MSVC 2017 fails on binder1st/binder2nd
Diffstat (limited to 'Eigen')
-rw-r--r--Eigen/src/Core/functors/StlFunctors.h2
-rw-r--r--Eigen/src/Core/util/Macros.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/Eigen/src/Core/functors/StlFunctors.h b/Eigen/src/Core/functors/StlFunctors.h
index 0b4e5a29d..6df3fa501 100644
--- a/Eigen/src/Core/functors/StlFunctors.h
+++ b/Eigen/src/Core/functors/StlFunctors.h
@@ -72,7 +72,7 @@ template<typename T>
struct functor_traits<std::not_equal_to<T> >
{ enum { Cost = 1, PacketAccess = false }; };
-#if(__cplusplus < 201103L)
+#if (__cplusplus < 201103L) && (EIGEN_COMP_MSVC <= 1900)
// std::binder* are deprecated since c++11 and will be removed in c++17
template<typename T>
struct functor_traits<std::binder2nd<T> >
diff --git a/Eigen/src/Core/util/Macros.h b/Eigen/src/Core/util/Macros.h
index 95960b448..14addd8fb 100644
--- a/Eigen/src/Core/util/Macros.h
+++ b/Eigen/src/Core/util/Macros.h
@@ -356,7 +356,7 @@
#define EIGEN_MAX_CPP_VER 99
#endif
-#if EIGEN_MAX_CPP_VER>=11 && defined(__cplusplus) && (__cplusplus >= 201103L)
+#if EIGEN_MAX_CPP_VER>=11 && (defined(__cplusplus) && (__cplusplus >= 201103L) || EIGEN_COMP_MSVC >= 1900)
#define EIGEN_HAS_CXX11 1
#else
#define EIGEN_HAS_CXX11 0