Re: patch: Use pg_assume in jsonb_util.c to fix GCC 15 warnings

Erik Rijkers <er@xs4all.nl>

From: Erik Rijkers <er@xs4all.nl>
To: Dmitry Mityugov <d.mityugov@postgrespro.ru>, pgsql-hackers@postgresql.org
Date: 2025-07-11T10:20:36Z
Lists: pgsql-hackers
Op 7/10/25 om 22:00 schreef Dmitry Mityugov:
> When compiled with Assert() macro disabled, GCC 15 produces warnings 
> about possibly uninitialized variables in 
> src/backend/utils/adt/jsonb_util.c module. This problem was discussed in 
> detail in this thread, in April 2025: 
> https://www.postgresql.org/message-id/988bf1bc-3f1f-99f3-bf98-222f1cd9dc5e@xs4all.nl .
> 
> Recently introduced pg_assume() macro let fix such problems easily. The 
> attached patch fixes them in jsonb_util.c module. I verified that 
> PostgreSQL compiles clearly with this patch and GCC 15.1.1 on an x86 
> 64-bit machine (with and without --enable-cassert), and with GCC 14.2.1 
> on a 64-bit ARM machine. `make check` also passes.

Yes, compiles fine for me with gcc 15.1.0  (with and without 
--enable-cassert). It's nice to finally get a silent compile again.

Thanks,

Erik

> 
> I'm attaching the patch.
> 
> Regards,
> Dmitry



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Clarify the ra != rb case in compareJsonbContainers().

  2. Silence uninitialized-value warnings in compareJsonbContainers().