diff options
Diffstat (limited to 'Eigen/src/Core/DenseBase.h')
-rw-r--r-- | Eigen/src/Core/DenseBase.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Eigen/src/Core/DenseBase.h b/Eigen/src/Core/DenseBase.h index ecce3ad05..74945fc79 100644 --- a/Eigen/src/Core/DenseBase.h +++ b/Eigen/src/Core/DenseBase.h @@ -491,8 +491,12 @@ template<typename Derived> class DenseBase * Notice that in the case of a plain matrix or vector (not an expression) this function just returns * a const reference, in order to avoid a useless copy. */ - EIGEN_STRONG_INLINE const typename ei_eval<Derived>::type eval() const - { return typename ei_eval<Derived>::type(derived()); } + inline const typename ei_eval<Derived>::type eval() const + { + // MSVC cannot honor strong inlining when the return type + // is a dynamic matrix + return typename ei_eval<Derived>::type(derived()); + } template<typename OtherDerived> void swap(DenseBase<OtherDerived> EIGEN_REF_TO_TEMPORARY other); |