BUG #19485: Compilation warnings and notes with GCC 16.1.1 on new Fedora 44
PG Bug reporting form <noreply@postgresql.org>
From: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: buschmann@nidsa.net
Date: 2026-05-18T07:06:44Z
Lists: pgsql-bugs
The following bug has been logged on the website:
Bug reference: 19485
Logged by: Hans Buschmann
Email address: buschmann@nidsa.net
PostgreSQL version: 18.4
Operating system: Fedora 44 Server x86-64
Description:
When compiling the new current minor version 18.4 on fedora with GCC 16.1.1
I stumbled over two warnings/notes:
[root@fedora build]# ninja
[813/2272] Compiling C object
src/backend/postgres_lib.a.p/optimizer_util_clauses.c.o
../src/backend/optimizer/util/clauses.c: In function
‘recheck_cast_function_args.isra’:
../src/backend/optimizer/util/clauses.c:4403:19: warning: ‘actual_arg_types’
may be used uninitialized [-Wmaybe-uninitialized]
4403 | rettype = enforce_generic_type_consistency(actual_arg_types,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4404 |
declared_arg_types,
|
~~~~~~~~~~~~~~~~~~~
4405 |
nargs,
|
~~~~~~
4406 |
funcform->prorettype,
|
~~~~~~~~~~~~~~~~~~~~~
4407 |
false);
|
~~~~~~
In file included from ../src/backend/optimizer/util/clauses.c:42:
../src/include/parser/parse_coerce.h:85:17: note: by argument 1 of type
‘const Oid *’ {aka ‘const unsigned int *’} to
‘enforce_generic_type_consistency’ declared here
85 | extern Oid enforce_generic_type_consistency(const Oid
*actual_arg_types,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/backend/optimizer/util/clauses.c:4389:33: note: ‘actual_arg_types’
declared here
4389 | Oid actual_arg_types[FUNC_MAX_ARGS];
| ^~~~~~~~~~~~~~~~
[2272/2272] Linking target src/interfaces/ecpg/test/pg_regress_ecpg
[root@fedora build]#
The same occurs also with the development branch snapshot 19devel from
18.5.2026
Since I cannot attach a file here I show the summary of my meson
configuration:
meson setup build --prefix=/usr/local/pgbeta -Dpgport=5431 -Duuid=ossp
...
...
postgresql 18.4
Data layout
data block size : 8 kB
WAL block size : 8 kB
segment size : 1 GB
System
host system : linux x86_64
build system : linux x86_64
Compiler
linker : ld.bfd
C compiler : gcc 16.1.1
Compiler Flags
CPP FLAGS : -D_GNU_SOURCE
C FLAGS, functional : -fno-strict-aliasing -fwrapv
-fexcess-precision=standard
C FLAGS, warnings : -Wmissing-prototypes -Wpointer-arith
-Werror=vla -Wendif-labels -Wmissing-format-attribute
-Wimplicit-fallthrough=3 -Wcast-function-type -Wshadow=compatible-local
-Wformat-security -Wdeclaration-after-statement
-Wmissing-variable-declarations -Wno-format-truncation
-Wno-stringop-truncation
C FLAGS, modules : -fvisibility=hidden
C FLAGS, user specified:
LD FLAGS :
Programs
bison : /usr/bin/bison 3.8.2
dtrace : NO
flex : /usr/bin/flex 2.6.4
External libraries
bonjour : NO
bsd_auth : NO
docs : YES
docs_pdf : NO
gss : NO
icu : YES 77.1
ldap : NO
libcurl : NO
libnuma : YES 2.0.19
liburing : YES 2.13
libxml : YES 2.12.10
libxslt : NO
llvm : NO
lz4 : YES 1.10.0
nls : YES
openssl : YES 3.5.5
pam : NO
plperl : YES 5.42.2
plpython : YES 3.14
pltcl : NO
readline : YES 8.3
selinux : YES 3.10
systemd : YES 259
uuid : YES 1.6.2
zlib : YES 1.3.1.zlib-ng
zstd : YES 1.5.7
User defined options
pgport : 5431
prefix : /usr/local/pgbeta
uuid : ossp
Found ninja-1.13.2 at /usr/bin/ninja
#
As I am not an expert C programmer, please could somebody check the
combination of Postgres and GCC 16.1.1 to resolve this minor issue.
Only checked 18.4 and 19devel, only with GCC (not Clang), no other versions.
Thank you for looking
Hans Buschmann
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Silence "may be used uninitialized" compiler warning.
- f04781df5daf 19 (unreleased) landed
- e86b7a05fd01 16 (unreleased) landed
- d0db43e880be 15 (unreleased) landed
- b2a6a27bac38 14 (unreleased) landed
- 7fbbe75875ca 17 (unreleased) landed
- 78d89a7b5316 18 (unreleased) landed