From a64156cae5e4fc72a783a14584f1140c5a68a3b3 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Mon, 16 Nov 2015 13:33:54 +0100 Subject: Workaround i387 issue in unit test --- test/ref.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'test/ref.cpp') diff --git a/test/ref.cpp b/test/ref.cpp index 1341dfef7..769db0414 100644 --- a/test/ref.cpp +++ b/test/ref.cpp @@ -18,6 +18,18 @@ // test Ref.h +// Deal with i387 extended precision +#if EIGEN_ARCH_i386 && !(EIGEN_ARCH_x86_64) + +#if EIGEN_COMP_GNUC_STRICT && EIGEN_GNUC_AT_LEAST(4,4) +#pragma GCC optimize ("-ffloat-store") +#else +#undef VERIFY_IS_EQUAL +#define VERIFY_IS_EQUAL(X,Y) VERIFY_IS_APPROX(X,Y) +#endif + +#endif + template void ref_matrix(const MatrixType& m) { typedef typename MatrixType::Index Index; @@ -55,7 +67,6 @@ template void ref_matrix(const MatrixType& m) rm2 = m2.block(i,j,brows,bcols); VERIFY_IS_EQUAL(m1, m2); - ConstRefDynMat rm3 = m1.block(i,j,brows,bcols); m1.block(i,j,brows,bcols) *= 2; m2.block(i,j,brows,bcols) *= 2; -- cgit v1.2.3