summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2017-08-30 12:44:17 +0200
committerGitHub <noreply@github.com>2017-08-30 12:44:16 +0200
commite59b1212daec0462660dc9950e23bdb626a690c6 (patch)
treedae76cef9cc4cd3ff82dd176308cbbfbeaa8ecd1
parent8b9026c05e9982a7bc0c7f52776ad74276b90252 (diff)
parentd44414c7112336fddbbb1eee782982b638690e70 (diff)
Merge pull request #10776 from hpvb/fix-10758
Disable -ffast-math for etc2comp
-rw-r--r--modules/etc/SCsub4
-rw-r--r--platform/x11/detect.py4
2 files changed, 7 insertions, 1 deletions
diff --git a/modules/etc/SCsub b/modules/etc/SCsub
index 8f5937017e..f0c1ee64b9 100644
--- a/modules/etc/SCsub
+++ b/modules/etc/SCsub
@@ -35,3 +35,7 @@ env_etc.add_source_files(env.modules_sources, "*.cpp")
# upstream uses c++11
env_etc.Append(CXXFLAGS="-std=gnu++11")
+# -ffast-math seems to be incompatible with ec2comp on recent versions of
+# GCC and Clang
+if '-ffast-math' in env_etc['CCFLAGS']:
+ env_etc['CCFLAGS'].remove('-ffast-math')
diff --git a/platform/x11/detect.py b/platform/x11/detect.py
index 79778136ad..f355de0eb3 100644
--- a/platform/x11/detect.py
+++ b/platform/x11/detect.py
@@ -74,7 +74,9 @@ def configure(env):
## Build type
if (env["target"] == "release"):
- env.Prepend(CCFLAGS=['-Ofast'])
+ # -O3 -ffast-math is identical to -Ofast. We need to split it out so we can selectively disable
+ # -ffast-math in code for which it generates wrong results.
+ env.Prepend(CCFLAGS=['-O3', '-ffast-math'])
if (env["debug_release"] == "yes"):
env.Prepend(CCFLAGS=['-g2'])