From f25338f4d76dff13a9810996165ad7b465a15c88 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Fri, 1 Aug 2014 16:49:44 +0200 Subject: Fix nesting of Homogenous evaluator --- Eigen/src/Geometry/Homogeneous.h | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'Eigen/src/Geometry/Homogeneous.h') diff --git a/Eigen/src/Geometry/Homogeneous.h b/Eigen/src/Geometry/Homogeneous.h index 7a3b5de80..8f3e5f419 100644 --- a/Eigen/src/Geometry/Homogeneous.h +++ b/Eigen/src/Geometry/Homogeneous.h @@ -351,6 +351,9 @@ struct unary_evaluator, IndexBased> typedef Homogeneous XprType; typedef typename XprType::PlainObject PlainObject; typedef typename evaluator::type Base; + + typedef evaluator type; + typedef evaluator nestedType; unary_evaluator(const XprType& op) : Base(), m_temp(op) @@ -367,10 +370,6 @@ template< typename DstXprType, typename ArgType, typename Scalar> struct Assignment, internal::assign_op, Dense2Dense, Scalar> { typedef Homogeneous SrcXprType; - // TODO clang generates garbage if this function is inlined. no valgrind error though. -#ifdef __clang__ - EIGEN_DONT_INLINE -#endif static void run(DstXprType &dst, const SrcXprType &src, const internal::assign_op &) { dst.template topRows(src.nestedExpression().rows()) = src.nestedExpression(); @@ -383,10 +382,6 @@ template< typename DstXprType, typename ArgType, typename Scalar> struct Assignment, internal::assign_op, Dense2Dense, Scalar> { typedef Homogeneous SrcXprType; - // TODO clang generates garbage if this function is inlined. no valgrind error though. -#ifdef __clang__ - EIGEN_DONT_INLINE -#endif static void run(DstXprType &dst, const SrcXprType &src, const internal::assign_op &) { dst.template leftCols(src.nestedExpression().cols()) = src.nestedExpression(); -- cgit v1.2.3