Prevent excess precision errors on 32-bit builds
The compile flag -ffloat-store requires floating point values to be stored in memory rather than in registers to prevent errors when two numbers are compared that were stored in different locations.
This commit is contained in:
parent
4061f1cce3
commit
40c70dd008
|
@ -285,6 +285,10 @@ if( CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
|
|||
set( TO_LINKER -XLinker )
|
||||
else()
|
||||
set( TO_LINKER -Wl )
|
||||
# Set 32-bit flag for GCC to prevent excess precision
|
||||
if( CMAKE_SIZEOF_VOID_P EQUAL 4 )
|
||||
set( CMAKE_CXX_FLAGS "-ffloat-store ${CMAKE_CXX_FLAGS}" )
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Establish -Wall early, so specialized relaxations of this may come
|
||||
|
|
Loading…
Reference in New Issue