[SCM] PostGIS branch master updated. 3.6.0rc2-402-gd63430387

git at osgeo.org git at osgeo.org
Fri Mar 20 14:57:17 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 "PostGIS".

The branch, master has been updated
       via  d63430387663f34c6edccac1bff47a5cf484d4c8 (commit)
      from  a197e6b1f2bc7ff75fb1d34b806d4a80a4060d77 (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 d63430387663f34c6edccac1bff47a5cf484d4c8
Author: Paul Ramsey <pramsey at cleverelephant.ca>
Date:   Fri Mar 20 14:56:33 2026 -0700

    Replace func() with func(void) for zero-parameter
    functions. Add in explicit fallthroughs to case statements,
    all per recent clang code warnings.

diff --git a/deps/uthash/include/uthash.h b/deps/uthash/include/uthash.h
index af0546472..7ce3f1982 100644
--- a/deps/uthash/include/uthash.h
+++ b/deps/uthash/include/uthash.h
@@ -114,6 +114,22 @@ typedef unsigned char uint8_t;
 #define HASH_NONFATAL_OOM 0
 #endif
 
+#ifndef FALLTHROUGH
+    #if defined(__cplusplus) && __cplusplus >= 201703L
+        #define FALLTHROUGH [[fallthrough]]
+    #elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
+        #define FALLTHROUGH [[fallthrough]]
+    #elif defined(__clang__)
+        #define FALLTHROUGH __attribute__((fallthrough))
+    #elif defined(__GNUC__) && __GNUC__ >= 7
+        #define FALLTHROUGH __attribute__((fallthrough))
+    #elif defined(_MSC_VER) && _MSC_VER >= 1910
+        #define FALLTHROUGH [[fallthrough]]
+    #else
+        #define FALLTHROUGH ((void)0)
+    #endif
+#endif
+
 #if HASH_NONFATAL_OOM
 /* malloc failures can be recovered from */
 
@@ -681,16 +697,16 @@ do {
   }                                                                              \
   hashv += (unsigned)(keylen);                                                   \
   switch ( _hj_k ) {                                                             \
-    case 11: hashv += ( (unsigned)_hj_key[10] << 24 ); /* FALLTHROUGH */         \
-    case 10: hashv += ( (unsigned)_hj_key[9] << 16 );  /* FALLTHROUGH */         \
-    case 9:  hashv += ( (unsigned)_hj_key[8] << 8 );   /* FALLTHROUGH */         \
-    case 8:  _hj_j += ( (unsigned)_hj_key[7] << 24 );  /* FALLTHROUGH */         \
-    case 7:  _hj_j += ( (unsigned)_hj_key[6] << 16 );  /* FALLTHROUGH */         \
-    case 6:  _hj_j += ( (unsigned)_hj_key[5] << 8 );   /* FALLTHROUGH */         \
-    case 5:  _hj_j += _hj_key[4];                      /* FALLTHROUGH */         \
-    case 4:  _hj_i += ( (unsigned)_hj_key[3] << 24 );  /* FALLTHROUGH */         \
-    case 3:  _hj_i += ( (unsigned)_hj_key[2] << 16 );  /* FALLTHROUGH */         \
-    case 2:  _hj_i += ( (unsigned)_hj_key[1] << 8 );   /* FALLTHROUGH */         \
+    case 11: hashv += ( (unsigned)_hj_key[10] << 24 ); FALLTHROUGH;              \
+    case 10: hashv += ( (unsigned)_hj_key[9]  << 16 ); FALLTHROUGH;              \
+    case 9:  hashv += ( (unsigned)_hj_key[8]  << 8  ); FALLTHROUGH;              \
+    case 8:  _hj_j += ( (unsigned)_hj_key[7]  << 24 ); FALLTHROUGH;              \
+    case 7:  _hj_j += ( (unsigned)_hj_key[6]  << 16 ); FALLTHROUGH;              \
+    case 6:  _hj_j += ( (unsigned)_hj_key[5]  << 8  ); FALLTHROUGH;              \
+    case 5:  _hj_j += _hj_key[4];                      FALLTHROUGH;              \
+    case 4:  _hj_i += ( (unsigned)_hj_key[3]  << 24 ); FALLTHROUGH;              \
+    case 3:  _hj_i += ( (unsigned)_hj_key[2]  << 16 ); FALLTHROUGH;              \
+    case 2:  _hj_i += ( (unsigned)_hj_key[1]  << 8  ); FALLTHROUGH;              \
     case 1:  _hj_i += _hj_key[0];                                                \
   }                                                                              \
   HASH_JEN_MIX(_hj_i, _hj_j, hashv);                                             \
@@ -1224,4 +1240,4 @@ typedef struct UT_hash_handle {
    unsigned hashv;                   /* result of hash-fcn(key)        */
 } UT_hash_handle;
 
-#endif /* UTHASH_H */
\ No newline at end of file
+#endif /* UTHASH_H */
diff --git a/deps/wagyu/lwgeom_wagyu.cpp b/deps/wagyu/lwgeom_wagyu.cpp
index 0afbd144b..fc6e359c6 100644
--- a/deps/wagyu/lwgeom_wagyu.cpp
+++ b/deps/wagyu/lwgeom_wagyu.cpp
@@ -250,7 +250,7 @@ lwgeom_wagyu_clip_by_box(const LWGEOM *geom, const GBOX *bbox)
 }
 
 const char *
-libwagyu_version()
+libwagyu_version(void)
 {
 	static char str[50] = {0};
 	snprintf(
@@ -260,13 +260,13 @@ libwagyu_version()
 }
 
 void
-lwgeom_wagyu_interruptRequest()
+lwgeom_wagyu_interruptRequest(void)
 {
 	mapbox::geometry::wagyu::interrupt_request();
 }
 
 void
-lwgeom_wagyu_interruptReset()
+lwgeom_wagyu_interruptReset(void)
 {
     mapbox::geometry::wagyu::interrupt_reset();
 }
diff --git a/deps/wagyu/lwgeom_wagyu.h b/deps/wagyu/lwgeom_wagyu.h
index 9e557f679..52963e23a 100644
--- a/deps/wagyu/lwgeom_wagyu.h
+++ b/deps/wagyu/lwgeom_wagyu.h
@@ -52,17 +52,17 @@ LWGEOM *lwgeom_wagyu_clip_by_box(const LWGEOM *geom, const GBOX *bbox);
  * Returns a pointer to the static string representing the Wagyu release
  * being used (Should not be freed)
  */
-const char *libwagyu_version();
+const char *libwagyu_version(void);
 
 /**
  * Requests wagyu to stop processing. In this case it will return NULL
  */
-void lwgeom_wagyu_interruptRequest();
+void lwgeom_wagyu_interruptRequest(void);
 
 /**
  * Cancels request to stop processing.
  */
-void lwgeom_wagyu_interruptReset();
+void lwgeom_wagyu_interruptReset(void);
 
 #ifdef __cplusplus
 }
diff --git a/libpgcommon/lwgeom_transform.c b/libpgcommon/lwgeom_transform.c
index 61975dc0f..53fe0a5d3 100644
--- a/libpgcommon/lwgeom_transform.c
+++ b/libpgcommon/lwgeom_transform.c
@@ -96,7 +96,7 @@ PROJSRSDestroyPortalCache(void *portalCache)
 * If it doesn't exist, make a new blank one and return it.
 */
 PROJSRSCache *
-GetPROJSRSCache()
+GetPROJSRSCache(void)
 {
 	PROJSRSCache* cache = PROJ_CACHE;
 	if (!cache)
diff --git a/libpgcommon/lwgeom_transform.h b/libpgcommon/lwgeom_transform.h
index be0ae1978..c42d21530 100644
--- a/libpgcommon/lwgeom_transform.h
+++ b/libpgcommon/lwgeom_transform.h
@@ -57,7 +57,7 @@ typedef struct srs_precision
 } srs_precision;
 
 /* Prototypes */
-PROJSRSCache* GetPROJSRSCache();
+PROJSRSCache* GetPROJSRSCache(void);
 int lwproj_lookup(int32_t srid_from, int32_t srid_to, LWPROJ **pj);
 int lwproj_is_latlong(const LWPROJ *pj);
 int spheroid_init_from_srid(int32_t srid, SPHEROID *s);
diff --git a/postgis/lwgeom_functions_basic.c b/postgis/lwgeom_functions_basic.c
index 0cfa08da7..7806f6ccb 100644
--- a/postgis/lwgeom_functions_basic.c
+++ b/postgis/lwgeom_functions_basic.c
@@ -2744,7 +2744,8 @@ Datum LWGEOM_angle(PG_FUNCTION_ARGS)
 		default: /*always executed*/
 			for (j = 0; j <= i; j++)
 				PG_FREE_IF_COPY(seri_geoms[j], j);
-		/*FALLTHROUGH*/
+				pg_fallthrough; /* FALLTHROUGH */
+
 		case 1:
 			lwpgerror("Empty geometry");
 			PG_RETURN_NULL();
diff --git a/postgis/lwgeom_geos_prepared.c b/postgis/lwgeom_geos_prepared.c
index 2f971a64c..79dafad7e 100644
--- a/postgis/lwgeom_geos_prepared.c
+++ b/postgis/lwgeom_geos_prepared.c
@@ -336,7 +336,7 @@ PrepGeomCacheCleaner(GeomCache *cache)
 }
 
 static GeomCache*
-PrepGeomCacheAllocator()
+PrepGeomCacheAllocator(void)
 {
 	PrepGeomCache* prepcache = palloc(sizeof(PrepGeomCache));
 	memset(prepcache, 0, sizeof(PrepGeomCache));
diff --git a/postgis/lwgeom_transform.c b/postgis/lwgeom_transform.c
index 4a23fe3fc..16a32fc54 100644
--- a/postgis/lwgeom_transform.c
+++ b/postgis/lwgeom_transform.c
@@ -409,7 +409,7 @@ srs_tuple_from_entry(const struct srs_entry* entry, TupleDesc tuple_desc)
 }
 
 static struct srs_data *
-srs_state_init()
+srs_state_init(void)
 {
 	struct srs_data *state = palloc0(sizeof(*state));
 	state->capacity = 8192;
diff --git a/postgis/postgis_module.c b/postgis/postgis_module.c
index 8c420ac53..8d79254ab 100644
--- a/postgis/postgis_module.c
+++ b/postgis/postgis_module.c
@@ -53,7 +53,7 @@ PG_MODULE_MAGIC;
 #endif
 
 
-static void interrupt_geos_callback()
+static void interrupt_geos_callback(void)
 {
 #ifdef WIN32
 	if (UNBLOCKED_SIGNAL_QUEUE())
@@ -72,7 +72,7 @@ static void interrupt_geos_callback()
 	}
 }
 
-static void interrupt_liblwgeom_callback()
+static void interrupt_liblwgeom_callback(void)
 {
 #ifdef WIN32
 	if (UNBLOCKED_SIGNAL_QUEUE())
diff --git a/raster/rt_pg/rtpg_mapalgebra.c b/raster/rt_pg/rtpg_mapalgebra.c
index 8a0e0516d..0e355ebe3 100644
--- a/raster/rt_pg/rtpg_mapalgebra.c
+++ b/raster/rt_pg/rtpg_mapalgebra.c
@@ -6567,8 +6567,8 @@ Datum RASTER_mapAlgebra2(PG_FUNCTION_ARGS)
 	switch (extenttype) {
 		case ET_FIRST:
 			i = 0;
-			/* fall through */
-			__attribute__((fallthrough));
+			pg_fallthrough; /* FALLTHROUGH */
+
 		case ET_SECOND:
 			if (i > 1)
 				i = 1;

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

Summary of changes:
 deps/uthash/include/uthash.h     | 38 +++++++++++++++++++++++++++-----------
 deps/wagyu/lwgeom_wagyu.cpp      |  6 +++---
 deps/wagyu/lwgeom_wagyu.h        |  6 +++---
 libpgcommon/lwgeom_transform.c   |  2 +-
 libpgcommon/lwgeom_transform.h   |  2 +-
 postgis/lwgeom_functions_basic.c |  3 ++-
 postgis/lwgeom_geos_prepared.c   |  2 +-
 postgis/lwgeom_transform.c       |  2 +-
 postgis/postgis_module.c         |  4 ++--
 raster/rt_pg/rtpg_mapalgebra.c   |  4 ++--
 10 files changed, 43 insertions(+), 26 deletions(-)


hooks/post-receive
-- 
PostGIS


More information about the postgis-tickets mailing list