[geos-commits] [SCM] GEOS branch 3.14 updated. 296b9c13d20ab41f8555710139b08103f3123594

git at osgeo.org git at osgeo.org
Mon Oct 19 15:12:41 PDT 2026


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.14 has been updated
       via  296b9c13d20ab41f8555710139b08103f3123594 (commit)
      from  6b710e496b3384f26578df8d19ba483ff17dfd61 (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 296b9c13d20ab41f8555710139b08103f3123594
Author: Mike Taves <mwtoews at gmail.com>
Date:   Tue Oct 20 11:11:59 2026 +1300

    Revise GH-1555 to remove isnan guards and skip FE_INVALID test for optimized Clang 15 or later on x86_64

diff --git a/NEWS.md b/NEWS.md
index b48cf3470..3ae853ec0 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -11,7 +11,7 @@
   - Guard against stack overflow in inputs (GH-1437, Paul Ramsey)
   - Avoid overflow risk in WKB reader (Paul Ramsey)
   - GEOSNode: fix crash on collection with empty components (GH-1406, Dan Baston)
-  - Avoid raising `FE_INVALID` from Envelope (GH-1555, Mike Taves)
+  - Skip testing FE_INVALID from unit-geom-Envelope for some Clang builds (GH-1555, Mike Taves)
 
 ## Changes in 3.14.1
 2025-10-27
diff --git a/include/geos/geom/Envelope.h b/include/geos/geom/Envelope.h
index aa63985ab..61e074be8 100644
--- a/include/geos/geom/Envelope.h
+++ b/include/geos/geom/Envelope.h
@@ -583,11 +583,6 @@ public:
      */
     bool intersects(double x, double y) const
     {
-#if defined(__OPTIMIZE__) && defined(__x86_64__) && defined(__clang__) && (__clang_major__ >= 15)
-        if(std::isnan(x) || std::isnan(maxx)) {
-            return false;
-        }
-#endif  /* defined(__OPTIMIZE__) && defined(__clang__) ... */
         return std::islessequal(x, maxx) &&
                std::isgreaterequal(x, minx) &&
                std::islessequal(y, maxy) &&
@@ -638,11 +633,6 @@ public:
      * @return `true` if `(x, y)` lies in the interior or on the boundary of this Envelope.
      */
     bool covers(double x, double y) const {
-#if defined(__OPTIMIZE__) && defined(__x86_64__) && defined(__clang__) && (__clang_major__ >= 15)
-        if(std::isnan(x) || std::isnan(minx)) {
-            return false;
-        }
-#endif  /* defined(__OPTIMIZE__) && defined(__clang__) ... */
         return std::isgreaterequal(x,  minx) &&
                std::islessequal(x, maxx) &&
                std::isgreaterequal(y, miny) &&
diff --git a/tests/unit/geom/EnvelopeTest.cpp b/tests/unit/geom/EnvelopeTest.cpp
index dccddf5a0..d77784a19 100644
--- a/tests/unit/geom/EnvelopeTest.cpp
+++ b/tests/unit/geom/EnvelopeTest.cpp
@@ -265,8 +265,8 @@ void object::test<6>
     check_intersects(small, {-1, -1}, true);
     check_intersects(small, {5, 5}, false);
 
-#if !( defined(__OPTIMIZE__) && defined(__x86_64__) && defined(__clang__) && defined(__apple_build_version__) )
-//  Exclude optimized Apple Clang on x86_64 osx - raises FE_INVALID
+#if !( defined(__OPTIMIZE__) && defined(__x86_64__) && defined(__clang__) && (__clang_major__ >= 15) )
+//  Exclude optimized Clang 15 or later on x86_64 - raises FE_INVALID
     check_intersects(empty, {0, 0}, false);
 #endif
 

-----------------------------------------------------------------------

Summary of changes:
 NEWS.md                          |  2 +-
 include/geos/geom/Envelope.h     | 10 ----------
 tests/unit/geom/EnvelopeTest.cpp |  4 ++--
 3 files changed, 3 insertions(+), 13 deletions(-)


hooks/post-receive
-- 
GEOS


More information about the geos-commits mailing list