# HG changeset patch # Parent 0112cc942ba817bcb254071e24aab3505b6cdf46 diff --git a/Eigen/src/Core/BooleanRedux.h b/Eigen/src/Core/BooleanRedux.h --- a/Eigen/src/Core/BooleanRedux.h +++ b/Eigen/src/Core/BooleanRedux.h @@ -87,20 +87,24 @@ struct any_unroller * Output: \verbinclude MatrixBase_all.out * * \sa any(), Cwise::operator<() */ template inline bool DenseBase::all() const { enum { +#if __GNUC__==4 && __GNUC_MINOR__==3 + unroll = 0 +#else unroll = SizeAtCompileTime != Dynamic && CoeffReadCost != Dynamic && NumTraits::AddCost != Dynamic && SizeAtCompileTime * (CoeffReadCost + NumTraits::AddCost) <= EIGEN_UNROLLING_LIMIT +#endif }; if(unroll) return internal::all_unroller::run(derived()); else { for(Index j = 0; j < cols(); ++j) @@ -113,20 +117,24 @@ inline bool DenseBase::all() co /** \returns true if at least one coefficient is true * * \sa all() */ template inline bool DenseBase::any() const { enum { +#if __GNUC__==4 && __GNUC_MINOR__==3 + unroll = 0 +#else unroll = SizeAtCompileTime != Dynamic && CoeffReadCost != Dynamic && NumTraits::AddCost != Dynamic && SizeAtCompileTime * (CoeffReadCost + NumTraits::AddCost) <= EIGEN_UNROLLING_LIMIT +#endif }; if(unroll) return internal::any_unroller::run(derived()); else { for(Index j = 0; j < cols(); ++j)