diff --git a/Eigen/src/Core/util/XprHelper.h b/Eigen/src/Core/util/XprHelper.h index 9ffb0474b..16714fa5c 100644 --- a/Eigen/src/Core/util/XprHelper.h +++ b/Eigen/src/Core/util/XprHelper.h @@ -40,7 +40,7 @@ template struct is_valid_index_type enum { value = #if EIGEN_HAS_TYPE_TRAITS internal::is_integral::value || std::is_enum::value -#else if EIGEN_COMP_MSVC >= 1500 +#elif EIGEN_COMP_MSVC internal::is_integral::value || __is_enum(T) #else // without C++11, we use is_convertible to Index instead of is_integral in order to treat enums as Index.