Hi,
On Thu, Jan 16, 2025 at 12:47:17AM -0500, Tom Lane wrote:
> Michael Paquier <michael@paquier.xyz> writes:
> > Not completely sure about the number of parenthesis, but I hope that
> > this should be enough (extra set around io_op):
> > +#define pgstat_is_ioop_tracked_in_bytes(io_op) \
> > + (((unsigned int) (io_op)) < IOOP_NUM_TYPES && \
> > + ((unsigned int) (io_op)) >= IOOP_EXTEND)
>
> Yeah, that's safe parenthesis-wise. Whether it'll silence
> the warning from those old clangs remains to be seen.
Thanks for the report and the proposed "fix".
From what I can see, the above proposal does (at least) silent the warning
here (clang 5.0.1 and same as demoiselle): https://godbolt.org/z/cGosfzGne (we
can see the warning by using the current define and that the warning is gone
with the new define).
Let's see on the BF.
Regards,
--
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com