Subject: warning under gcc 16.1.0

From: Erik Rijkers <[email-masked]>
Date: Thu, 30 Apr 2026 22:52:36 +0200

Compiling with gcc 16.1.0 gives the following warning and notes:
(horizontally compressed a bit te avoid excessive wrapping)

clauses.c: In function ‘recheck_cast_function_args.isra’:
clauses.c:5139:19: warning: ‘actual_arg_types’ may be used uninitialized 
[-Wmaybe-uninitialized]
  5139 |   rettype = enforce_generic_type_consistency(actual_arg_types,
       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  5140 |                declared_arg_types,
       |                ~~~~~~~~~~~~~~~~~~~
  5141 |                nargs,
       |                ~~~~~~
  5142 |                funcform->prorettype,
       |                ~~~~~~~~~~~~~~~~~~~~~
  5143 |                false);
       |                ~~~~~~
In file included from clauses.c:46:
../../../../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,
       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
clauses.c:5125:33: note: ‘actual_arg_types’ declared here
  5125 |         Oid                     actual_arg_types[FUNC_MAX_ARGS];
       |                                 ^~~~~~~~~~~~~~~~

HTH,

Erik

---

From: Tom Lane <[email-masked]>
Date: Thu, 30 Apr 2026 17:21:51 -0400

> clauses.c:5139:19: warning: ‘actual_arg_types’ may be used uninitialized 

I'm inclined to write that off as "buggy early-version compiler".
That code is visibly okay, and no other compiler version has warned
about it.

			regards, tom lane