[geos-commits] [SCM] GEOS branch 3.8 updated. 5ab6d2853877b4c917343dc35a4a5e3009b60289
git at osgeo.org
git at osgeo.org
Wed Jan 10 14:07:25 PST 2024
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GEOS".
The branch, 3.8 has been updated
via 5ab6d2853877b4c917343dc35a4a5e3009b60289 (commit)
from a753ddf63f9168bc4cedf66e6d8a2c0753b3eaa9 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 5ab6d2853877b4c917343dc35a4a5e3009b60289
Author: Paul Ramsey <pramsey at cleverelephant.ca>
Date: Wed Jan 10 14:06:45 2024 -0800
Fix regression tests for AppleClang on ARM64
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cd210afb2..bf9590f65 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -154,6 +154,20 @@ set(CMAKE_CXX_EXTENSIONS OFF)
add_library(geos_cxx_flags INTERFACE)
target_compile_features(geos_cxx_flags INTERFACE cxx_std_11)
+#-----------------------------------------------------------------------------
+# Add flags to prevent 'fused multiply-add' operations on targets (ARM64)
+# that allow it, as it breaks calculations in DD.cpp.
+# TODO: Replace DD calculations with 'long float' where target supports
+# true long float, and remove other cases where FMA causes regression
+# failures.
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98207
+#-----------------------------------------------------------------------------
+target_compile_options(geos_cxx_flags INTERFACE
+ "$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>>:-ffp-contract=off>"
+ "$<$<CXX_COMPILER_ID:GNU>:-ffp-contract=off>"
+ "$<$<CXX_COMPILER_ID:MSVC>:/fp:precise>"
+ )
+
#-----------------------------------------------------------------------------
# Target geos_cxx_flags: common compilation flags
#-----------------------------------------------------------------------------
-----------------------------------------------------------------------
Summary of changes:
CMakeLists.txt | 14 ++++++++++++++
1 file changed, 14 insertions(+)
hooks/post-receive
--
GEOS
More information about the geos-commits
mailing list