On Fri, Oct 11, 2024 at 02:05:00PM +0000, Arnd Bergmann wrote: > I'm fairly sure I saw users mix up 'dma_data_direction' with > 'dma_transfer_direction' and unrelated enum-enum mixups in > amdgpu. There were probably more. Yes, those have definitely happened but those are -Wenum-conversion, not -Wenum-enum-conversion. > I think what happened is that in clang-18 and earlier, the > warning option caught mistakes of passing the wrong enum > to a function and a few others, but it did not catch arithmetic > operations between enums, so clang-19 now produces a lot more > output than older versions, and I don't think we can > control those independently. A contrived example: https://godbolt.org/z/Ydx6rxsvb We should be able to disable -Wenum-enum-conversion without impacting the ability to catch the cases that you mentioned above. It also helps that GCC supports -Wenum-conversion, but it does not seem like they have an equivalent for -Wenum-enum-conversion. Cheers, Nathan