[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