Re: [PATCH] rdma/siw: Use proper enumerated type in map_cqe_status

From: Jason Gunthorpe
Date: Thu Jul 11 2019 - 09:39:51 EST


On Thu, Jul 11, 2019 at 01:14:34AM -0700, Nathan Chancellor wrote:
> Hi Bernard,
>
> On Thu, Jul 11, 2019 at 07:44:22AM +0000, Bernard Metzler wrote:
> > Nathan, thanks very much. That's correct.
>
> Thanks for the confirmation that the fix was correct.
>
> > I don't know how this could pass w/o warning.
>
> Unfortunately, it appears that GCC only warns when two different
> enumerated types are directly compared, not when they are implicitly
> converted between.
>
> https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wenum-compare
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78736
>
> If it did, I wouldn't have fixed as many warnings as I have.
>
> https://github.com/ClangBuiltLinux/linux/issues?q=is%3Aissue+is%3Aclosed+label%3A-Wenum-conversion
>
> Maybe time to start plumbing Clang into your test flow until it can get
> intergrated with more CI setups? :) It can catch some pretty dodgy
> behavior that GCC doesn't:

I keep asking how to use clang to build the kernel and last I was told
it still wasn't ready..

Is it ready now? Is there some flow that will compile with clang
warning free, on any arch? (at least the portion of the kernel I check)

> Kernel CI has added support for it (although they don't email the
> authors of patches individually)

Well.. we didn't see any emails till yours, so if others are looking
they aren't communicating?

Jason