Browse Source

Merge pull request #10776 from hpvb/fix-10758

Disable -ffast-math for etc2comp
Rémi Verschelde 8 years ago
parent
commit
e59b1212da
2 changed files with 7 additions and 1 deletions
  1. 4 0
      modules/etc/SCsub
  2. 3 1
      platform/x11/detect.py

+ 4 - 0
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')

+ 3 - 1
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'])