Re: new warnings with clang-21 / how const is Datum - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: new warnings with clang-21 / how const is Datum
Date
Msg-id 76f41fdc-69e1-43b4-b9aa-503b07980de1@eisentraut.org
Whole thread Raw
In response to new warnings with clang-21 / how const is Datum  (Peter Eisentraut <peter@eisentraut.org>)
List pgsql-hackers
On 01.09.25 08:47, Peter Eisentraut wrote:
> clang-21 shows some new warnings:
> 
> ../src/backend/access/common/toast_internals.c:296:33: error: variable 
> 'chunk_data' is uninitialized when passed as a const pointer argument 
> here [-Werror,-Wuninitialized-const-pointer]
>    296 |         t_values[2] = PointerGetDatum(&chunk_data);
> 
> ../src/backend/access/gist/gistutil.c:207:28: error: variable 'attrsize' 
> is uninitialized when passed as a const pointer argument here [-Werror,- 
> Wuninitialized-const-pointer]
>    207 |                 PointerGetDatum(&attrsize));
>        |                                  ^~~~~~~~
> ../src/backend/access/gist/gistutil.c:276:27: error: variable 'dstsize' 
> is uninitialized when passed as a const pointer argument here [-Werror,- 
> Wuninitialized-const-pointer]
>    276 |  PointerGetDatum(&dstsize));
>        |                   ^~~~~~~

Here is a quick-fix patch for this.  It silences these warnings by 
initializing the respective variables first.  This is already done 
similarly in nearby code.  This can be backpatched to PG16, where these 
warnings began.

The second patch is a bit of a more extensive code rearrangement to make 
the need for the workaround in the first patch go away.  This would be 
for master only.

Attachment

pgsql-hackers by date:

Previous
From: Vivek Gadge
Date:
Subject: Re: Query Performance Degradation Due to Partition Scan Order – PostgreSQL v17.6
Next
From: Álvaro Herrera
Date:
Subject: Re: NOT NULL NOT ENFORCED