[geos-commits] [SCM] GEOS branch 3.15 updated. 5b3950ef9058283c39e18b7927704054f1cafd7f
git at osgeo.org
git at osgeo.org
Mon Oct 19 14:14:43 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.15 has been updated
via 5b3950ef9058283c39e18b7927704054f1cafd7f (commit)
from 5240ae533bd5c64206557e461add548d14add7f0 (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 5b3950ef9058283c39e18b7927704054f1cafd7f
Author: Mike Taves <mwtoews at gmail.com>
Date: Tue Oct 20 09:37:32 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 d049da6fb..1ba0b572e 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -5,7 +5,7 @@
- Fix arc noding failure with endpoint intersections (GH-1513, Dan Baston)
- Make GeometrySplitter able to split MultiSurface inputs (GH-1518, Dan Baston)
- GEOSGridIntersectionFractions: Set cells outside geometry bounding box to zero (GH-1532, 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)
- Polygonize / LineMerge: Copy Z/M values at shared endpoints of mixed-dimension inputs (GH-1545, Dan Baston)
- CircularArcIntersector: Use Orient2D to check for arc control points on line (GH-1546, Dan Baston)
- CircularArcIntersector: Avoid incorrectly classifying intersections as cocircular (GH-1549, Dan Baston)
diff --git a/include/geos/geom/Envelope.h b/include/geos/geom/Envelope.h
index dbbd1577f..15d360030 100644
--- a/include/geos/geom/Envelope.h
+++ b/include/geos/geom/Envelope.h
@@ -609,11 +609,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) &&
@@ -664,11 +659,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 55f6c0dfc..a289438bd 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