On 20/03/2024 07:37, Tom Lane wrote:
> A couple of buildfarm animals don't like these tests:
>
> Assert(child_type >= 0 && child_type < lengthof(child_process_kinds));
>
> for example
>
> ayu | 2024-03-19 13:08:05 | launch_backend.c:211:39: warning: comparison of constant 16 with expression
oftype 'BackendType' (aka 'enum BackendType') is always true [-Wtautological-constant-out-of-range-compare]
> ayu | 2024-03-19 13:08:05 | launch_backend.c:233:39: warning: comparison of constant 16 with expression
oftype 'BackendType' (aka 'enum BackendType') is always true [-Wtautological-constant-out-of-range-compare]
>
> I'm not real sure why it's moaning about the "<" check but not the
> ">= 0" check, which ought to be equally tautological given the
> assumption that the input is a valid member of the enum. But
> in any case, exactly how much value do these assertions carry?
> If you're intent on keeping them, perhaps casting child_type to
> int here would suppress the warnings. But personally I think
> I'd lose the Asserts.
Yeah, it's not a very valuable assertion. Removed, thanks!
--
Heikki Linnakangas
Neon (https://neon.tech)