Blob Blame History Raw
-ffast-math changes the floating point rounding mode globally, which
is undesirable for shared libraries. 

see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55522
for details.

Index: soundtouch/CMakeLists.txt
===================================================================
--- soundtouch.orig/CMakeLists.txt
+++ soundtouch/CMakeLists.txt
@@ -3,13 +3,6 @@ project(SoundTouch VERSION 2.3.2 LANGUAG
 
 include(GNUInstallDirs)
 
-if(MSVC)
-  set(COMPILE_DEFINITIONS /O2 /fp:fast)
-  set(COMPILE_OPTIONS )
-else()
-  set(COMPILE_OPTIONS -Ofast)
-endif()
-
 #####################
 # SoundTouch library
 
Index: soundtouch/configure.ac
===================================================================
--- soundtouch.orig/configure.ac
+++ soundtouch/configure.ac
@@ -33,7 +33,7 @@ AC_LANG(C++)
 
 # Compiler flags. Apply -Ofast (implies -O3 -ffast-math) to allow gcc autovectorization
 # generate effective SIMD code.
-CXXFLAGS+=" -Ofast"
+CXXFLAGS+=" -O2"
 
 # Set AR_FLAGS to avoid build warning "ar: `u' modifier ignored since `D' is the default (see `U')"
 AR_FLAGS='cr'