Re: Convert varatt.h macros to static inline functions - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Convert varatt.h macros to static inline functions
Date
Msg-id 1130716.1754418884@sss.pgh.pa.us
Whole thread Raw
In response to Re: Convert varatt.h macros to static inline functions  (Masahiko Sawada <sawada.mshk@gmail.com>)
Responses Re: Convert varatt.h macros to static inline functions
List pgsql-hackers
Masahiko Sawada <sawada.mshk@gmail.com> writes:
> I got the following compiler warning:

> % make  -C src/backend/storage/large_object
> inv_api.c: In function ‘inv_write’:
> inv_api.c:565:29: warning: ‘workbuf’ may be used uninitialized
> [-Wmaybe-uninitialized]
>   565 |         char       *workb = VARDATA(&workbuf.hdr);
>       |                             ^~~~~~~~~~~~~~~~~~~~~

> I've not fully investigated the root cause but commit e035863c9a0
> presumably is the culprit. FYI I'm using gcc 14.2.1.

Interesting.  I did not see such warnings with gcc 14.3.1, 15.1.1,
nor older gcc versions.  Must be something peculiar to 14.2.

> The attached patch fixes the warning.

Theoretically this shouldn't be necessary, since VARDATA()
does not touch the contents of the pointed-to object.
Still, no objection.

            regards, tom lane



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: printtup.c: error: ‘VARSIZE_ANY’ makes pointer from integer when USE_VALGRIND is defined
Next
From: Jacob Champion
Date:
Subject: Re: [PoC] Federated Authn/z with OAUTHBEARER