On 09/16/2017 10:34 AM, Peter Maydell wrote: > On 16 September 2017 at 02:03, John Snow <js...@redhat.com> wrote: >> The following changes since commit 5faf2d376af3cb4eb92da44c2580e08d39832caa: >> >> Merge remote-tracking branch 'remotes/huth/tags/check-20170915' into >> staging (2017-09-15 20:29:44 +0100) >> >> are available in the git repository at: >> >> https://github.com/jnsnow/qemu.git tags/ide-pull-request >> >> for you to fetch changes up to 2a94e34d3ecef91727f467cc012587c632099d40: >> >> AHCI: remove DPRINTF macro (2017-09-15 20:36:18 -0400) >> >> ---------------------------------------------------------------- >> >> ---------------------------------------------------------------- > > Hi; I'm afraid this doesn't build with clang: > > /home/petmay01/linaro/qemu-for-merges/hw/ide/core.c:70:15: error: > comparison of unsigned enum expression >= 0 is always true > [-Werror,-Wtautological-compare] > if (enval >= 0 && enval < IDE_DMA__COUNT) { > ~~~~~ ^ ~ > 1 error generated. > > (It's impdef whether an enum with all positive values is > a signed type or unsigned type, so just deleting the > comparison against 0 would also be wrong...) > > thanks > -- PMM >
Huh, impdef in the general case, but is it undefined for gnu99? I'm wondering why Clang can be so certain about this comparison being useless. Is this a Clang "bug"? --js