Turn on some of the cxx11 features when compiling with visual studio 2015

This commit is contained in:
Benoit Steiner 2016-03-05 10:52:08 -08:00
parent 6093eb9ff5
commit 05bbca079a
2 changed files with 6 additions and 4 deletions

View File

@ -360,7 +360,7 @@
#endif #endif
// Does the compiler support variadic templates? // Does the compiler support variadic templates?
#if __cplusplus > 199711L #if __cplusplus > 199711L || EIGEN_COMP_MSVC >= 1900
// Disable the use of variadic templates when compiling with nvcc on ARM devices: // Disable the use of variadic templates when compiling with nvcc on ARM devices:
// this prevents nvcc from crashing when compiling Eigen on Tegra X1 // this prevents nvcc from crashing when compiling Eigen on Tegra X1
#if !defined(__NVCC__) || !EIGEN_ARCH_ARM_OR_ARM64 #if !defined(__NVCC__) || !EIGEN_ARCH_ARM_OR_ARM64

View File

@ -35,11 +35,13 @@
#include "src/Core/util/EmulateArray.h" #include "src/Core/util/EmulateArray.h"
// Emulate the cxx11 functionality that we need if the compiler doesn't support it. // Emulate the cxx11 functionality that we need if the compiler doesn't support it.
#if __cplusplus <= 199711L // Visual studio 2015 doesn't advertise itself as cxx11 compliant, although it
#include "src/Core/util/EmulateCXX11Meta.h" // supports enough of the standard for our needs
#else #if __cplusplus > 199711L || EIGEN_COMP_MSVC >= 1900
#include "src/Core/util/CXX11Workarounds.h" #include "src/Core/util/CXX11Workarounds.h"
#include "src/Core/util/CXX11Meta.h" #include "src/Core/util/CXX11Meta.h"
#else
#include "src/Core/util/EmulateCXX11Meta.h"
#endif #endif
#include <Eigen/src/Core/util/ReenableStupidWarnings.h> #include <Eigen/src/Core/util/ReenableStupidWarnings.h>