From 486ca277a002b888a13fe14b136ff54b3979d475 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Tue, 16 Sep 2014 10:29:29 -0700 Subject: Workaround MSVC ICE --- Eigen/src/Core/TriangularMatrix.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'Eigen/src/Core/TriangularMatrix.h') diff --git a/Eigen/src/Core/TriangularMatrix.h b/Eigen/src/Core/TriangularMatrix.h index 0383ca9f5..cc585bc6c 100644 --- a/Eigen/src/Core/TriangularMatrix.h +++ b/Eigen/src/Core/TriangularMatrix.h @@ -277,7 +277,16 @@ template class TriangularView solve(const MatrixBase& other) const { return Solve(*this, other.derived()); } + // workaround MSVC ICE + #ifdef _MSC_VER + template + EIGEN_DEVICE_FUNC + inline const internal::triangular_solve_retval + solve(const MatrixBase& other) const + { return Base::template solve(other); } + #else using Base::solve; + #endif #endif // EIGEN_TEST_EVALUATORS EIGEN_DEVICE_FUNC @@ -575,7 +584,7 @@ template class TriangularViewImpl<_Mat EIGEN_STRONG_INLINE void _solve_impl(const RhsType &rhs, DstType &dst) const { if(!(internal::is_same::value && internal::extract_data(dst) == internal::extract_data(rhs))) dst = rhs; - this->template solveInPlace(dst); + this->solveInPlace(dst); } template -- cgit v1.2.3