Melanie Plageman <melanieplageman@gmail.com> writes:
> On Mon, Feb 27, 2023 at 10:30 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> The risk of needing to cast when using the "int" loop variable
>> as an enum is obviously the downside of that approach, but we have
>> not seen any indication that any compilers actually do warn.
>> It's interesting that you did see such a warning ... I wonder which
>> compiler you were using at the time?
> so, pretty much any version of clang I tried with
> -Wsign-conversion produces a warning.
> <source>:35:32: warning: implicit conversion changes signedness: 'int'
> to 'IOOp' (aka 'enum IOOp') [-Wsign-conversion]
Oh, interesting --- so it's not about the implicit conversion to enum
but just about signedness. I bet we could silence that by making the
loop variables be "unsigned int". I doubt it's worth any extra keystrokes
though, because we are not at all clean about sign-conversion warnings.
I tried enabling -Wsign-conversion on Apple's clang 14.0.0 just now,
and counted 13462 such warnings just in the core build :-(. I don't
foresee anybody trying to clean that up.
> I didn't do the casts in the attached patch since they aren't done elsewhere.
Agreed. I'll push this along with the earlier patch if there are
not objections.
regards, tom lane