I was not really aware of the implications on fixed size types when the strong inlining is not present. We really need it on MSVC!

This commit is contained in:
Hauke Heibel 2010-05-19 18:57:38 +02:00
parent 05910b7996
commit 39edf8e2bf

View File

@ -442,10 +442,11 @@ template<typename Derived> class DenseBase
* Notice that in the case of a plain matrix or vector (not an expression) this function just returns * 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. * a const reference, in order to avoid a useless copy.
*/ */
inline const typename ei_eval<Derived>::type eval() const EIGEN_STRONG_INLINE const typename ei_eval<Derived>::type eval() const
{ {
// MSVC cannot honor strong inlining when the return type // Even though MSVC does not honor strong inlining when the return type
// is a dynamic matrix // is a dynamic matrix, we desperately need strong inlining for fixed
// size types on MSVC.
return typename ei_eval<Derived>::type(derived()); return typename ei_eval<Derived>::type(derived());
} }