aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2013-07-05 23:47:40 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2013-07-05 23:47:40 +0200
commitcc03c9d68354ea3fed03481de045c185ddc1fc49 (patch)
treeafb36436222b31e6595ff8af38c32c550b15edb0
parent4f14b3fa726e25b14f1f06522353ee56707c2872 (diff)
bug #556: workaround mingw bug with -O3 or -fipa-cp-clone
-rw-r--r--Eigen/Core6
1 files changed, 6 insertions, 0 deletions
diff --git a/Eigen/Core b/Eigen/Core
index 7e068cbbd..97aa581e2 100644
--- a/Eigen/Core
+++ b/Eigen/Core
@@ -19,6 +19,12 @@
// defined e.g. EIGEN_DONT_ALIGN) so it needs to be done before we do anything with vectorization.
#include "src/Core/util/Macros.h"
+// Disable the ipa-cp-clone optimization flag with MinGW 6.x or newer (enabled by default with -O3)
+// See http://eigen.tuxfamily.org/bz/show_bug.cgi?id=556 for details.
+#if defined(__MINGW32__) && EIGEN_GNUC_AT_LEAST(4,6)
+ #pragma GCC optimize ("-fno-ipa-cp-clone")
+#endif
+
#include <complex>
// this include file manages BLAS and MKL related macros