On Wed, Feb 05, 2025 at 09:31:27PM +0100, Pavel Stehule wrote:
> I found a problem with compilation of plpgsql_check when I upgraded my
> fedora.
>
> plpgsql_check cannot be compiled (against PostgreSQL 15-). The compilation
> fails
>
> rc/expr_walk.c:84:66: warning: passing argument 2 of `query_tree_walker´
> from incompatible pointer type [-Wincompatible-pointer-types]
> 84 |
> detect_dependency_walker,
> |
> ^~~~~~~~~~~~~~~~~~~~~~~~
> | |
> |
> _Bool (*)(Node *, void *)
> In file included from src/expr_walk.c:14:
> /usr/local/pgsql/13/include/server/nodes/nodeFuncs.h:137:52: note: expected
> `_Bool (*)(void)´ but argument is of type `_Bool (*)(Node *, void *)´
> 137 | extern bool query_tree_walker(Query *query, bool (*walker) (),
> | ~~~~~~~^~~~~~~~~~
> src/expr_walk.c:43:1: note: `detect_dependency_walker´ declared here
> 43 | detect_dependency_walker(Node *node, void *context)
> | ^~~~~~~~~~~~~~~~~~~~~~~~
IIRC gcc 15 uses C23 by default, and this looks similar to the problem
fixed in commit d2b4b4c. I think commit 1c27d16 unintentionally fixed this
for v16 and above.
--
nathan