diff --git a/Eigen/src/Core/arch/SSE/PacketMath.h b/Eigen/src/Core/arch/SSE/PacketMath.h index ede223a0c..8b4348fea 100644 --- a/Eigen/src/Core/arch/SSE/PacketMath.h +++ b/Eigen/src/Core/arch/SSE/PacketMath.h @@ -62,7 +62,10 @@ template<> inline __m128i ei_pmul(const __m128i& a, const __m128i& b) template<> inline __m128 ei_pdiv(const __m128& a, const __m128& b) { return _mm_div_ps(a,b); } template<> inline __m128d ei_pdiv(const __m128d& a, const __m128d& b) { return _mm_div_pd(a,b); } template<> inline __m128i ei_pdiv(const __m128i& /*a*/, const __m128i& /*b*/) -{ ei_assert(false && "packet integer division are not supported by SSE"); } +{ ei_assert(false && "packet integer division are not supported by SSE"); + __m128i dummy; + return dummy; +} // for some weird raisons, it has to be overloaded for packet integer template<> inline __m128i ei_pmadd(const __m128i& a, const __m128i& b, const __m128i& c) { return ei_padd(ei_pmul(a,b), c); } diff --git a/Eigen/src/Core/util/Meta.h b/Eigen/src/Core/util/Meta.h index 6616e3c5e..2a68cf72f 100644 --- a/Eigen/src/Core/util/Meta.h +++ b/Eigen/src/Core/util/Meta.h @@ -129,7 +129,8 @@ struct ei_result_of { template Y))) > + bool Done = ((SupX-InfX)<=1 ? true : ((SupX*SupX <= Y) && ((SupX+1)*(SupX+1) > Y))) > + // use ?: instead of || just to shut up a stupid gcc 4.3 warning class ei_meta_sqrt { enum {