support gcc 4.5
diff --git a/Eigen/src/Core/Product.h b/Eigen/src/Core/Product.h
index d24ef61..7066e57 100644
--- a/Eigen/src/Core/Product.h
+++ b/Eigen/src/Core/Product.h
@@ -58,10 +58,12 @@
template<typename Lhs, typename Rhs> struct ei_product_type
{
+ typedef typename ei_cleantype<Lhs>::type _Lhs;
+ typedef typename ei_cleantype<Rhs>::type _Rhs;
enum {
- Rows = Lhs::RowsAtCompileTime,
- Cols = Rhs::ColsAtCompileTime,
- Depth = EIGEN_ENUM_MIN(Lhs::ColsAtCompileTime,Rhs::RowsAtCompileTime)
+ Rows = _Lhs::RowsAtCompileTime,
+ Cols = _Rhs::ColsAtCompileTime,
+ Depth = EIGEN_ENUM_MIN(_Lhs::ColsAtCompileTime,_Rhs::RowsAtCompileTime)
};
// the splitting into different lines of code here, introducing the _select enums and the typedef below,