diff --git a/Eigen/src/Core/util/Macros.h b/Eigen/src/Core/util/Macros.h index 1ca1d66..9bc928b 100644 --- a/Eigen/src/Core/util/Macros.h +++ b/Eigen/src/Core/util/Macros.h @@ -194,6 +194,12 @@ #define EIGEN_ARCH_PPC 0 #endif +/// \internal EIGEN_ARCH_HEXAGON set to 1 if the architecture is Hexagon +#ifdef __HEXAGON_ARCH__ + #define EIGEN_ARCH_HEXAGON 1 +#else + #define EIGEN_ARCH_HEXAGON 0 +#endif // Operating system identification, EIGEN_OS_* @@ -334,15 +340,16 @@ #endif // Do we support r-value references? -#if (__has_feature(cxx_rvalue_references) || \ +#if ((__has_feature(cxx_rvalue_references) || \ (defined(__cplusplus) && __cplusplus >= 201103L) || \ defined(__GXX_EXPERIMENTAL_CXX0X__) || \ - (EIGEN_COMP_MSVC >= 1600)) + (EIGEN_COMP_MSVC >= 1600)) && (!defined(EIGEN_ARCH_HEXAGON))) #define EIGEN_HAVE_RVALUE_REFERENCES #endif // Does the compiler support result_of? -#if (__has_feature(cxx_lambdas) || (defined(__cplusplus) && __cplusplus >= 201103L)) +#if ((__has_feature(cxx_lambdas) || (defined(__cplusplus) && __cplusplus >= 201103L)) && \ + (!defined(EIGEN_ARCH_HEXAGON))) #define EIGEN_HAS_STD_RESULT_OF 1 #endif