diff options
Diffstat (limited to 'extern/Eigen2/Eigen/src/Core/Matrix.h')
-rw-r--r-- | extern/Eigen2/Eigen/src/Core/Matrix.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/extern/Eigen2/Eigen/src/Core/Matrix.h b/extern/Eigen2/Eigen/src/Core/Matrix.h index ffd16d37606..22090c777da 100644 --- a/extern/Eigen2/Eigen/src/Core/Matrix.h +++ b/extern/Eigen2/Eigen/src/Core/Matrix.h @@ -505,7 +505,9 @@ class Matrix template<typename OtherDerived> EIGEN_STRONG_INLINE Matrix& _set(const MatrixBase<OtherDerived>& other) { - _set_selector(other.derived(), typename ei_meta_if<bool(int(OtherDerived::Flags) & EvalBeforeAssigningBit), ei_meta_true, ei_meta_false>::ret()); + // this enum introduced to fix compilation with gcc 3.3 + enum { cond = int(OtherDerived::Flags) & EvalBeforeAssigningBit }; + _set_selector(other.derived(), typename ei_meta_if<bool(cond), ei_meta_true, ei_meta_false>::ret()); return *this; } |