On 20/09/17 20:41, John Snow wrote: > Apparently GCC gets bent over comparing enum values against zero. > Replace the conditional with something less readable. > > Signed-off-by: John Snow <js...@redhat.com> > --- > hw/ide/core.c | 2 +- > include/hw/ide/internal.h | 3 +-- > 2 files changed, 2 insertions(+), 3 deletions(-) > > diff --git a/hw/ide/core.c b/hw/ide/core.c > index a19bd90..d63eb4a 100644 > --- a/hw/ide/core.c > +++ b/hw/ide/core.c > @@ -68,7 +68,7 @@ const char *IDE_DMA_CMD_lookup[IDE_DMA__COUNT] = { > > static const char *IDE_DMA_CMD_str(enum ide_dma_cmd enval) > { > - if (enval >= IDE_DMA__BEGIN && enval < IDE_DMA__COUNT) { > + if ((unsigned)enval < IDE_DMA__COUNT) { > return IDE_DMA_CMD_lookup[enval]; > } > return "DMA UNKNOWN CMD"; > diff --git a/include/hw/ide/internal.h b/include/hw/ide/internal.h > index 180e00e..e641012 100644 > --- a/include/hw/ide/internal.h > +++ b/include/hw/ide/internal.h > @@ -333,8 +333,7 @@ struct unreported_events { > }; > > enum ide_dma_cmd { > - IDE_DMA__BEGIN = 0, > - IDE_DMA_READ = IDE_DMA__BEGIN, > + IDE_DMA_READ = 0, > IDE_DMA_WRITE, > IDE_DMA_TRIM, > IDE_DMA_ATAPI, >
Really close - it fixes the error in hw/ide/core.c but then I see a similar error a bit later in hw/ide/ahci.c: cc -I/home/build/src/qemu/git/qemu/hw/ide -Ihw/ide -I/home/build/src/qemu/git/qemu/tcg -I/home/build/src/qemu/git/qemu/tcg/i386 -I/home/build/src/qemu/git/qemu/linux-headers -I/home/build/src/qemu/git/qemu/linux-headers -I. -I/home/build/src/qemu/git/qemu -I/home/build/src/qemu/git/qemu/accel/tcg -I/home/build/src/qemu/git/qemu/include -I/usr/include/pixman-1 -I/home/build/src/qemu/git/qemu/dtc/libfdt -Werror -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/p11-kit-1 -I/usr/include/libpng12 -I/home/build/src/qemu/git/qemu/tests -MMD -MP -MT hw/ide/ahci.o -MF hw/ide/ahci.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g -c -o hw/ide/ahci.o hw/ide/ahci.c hw/ide/ahci.c: In function ‘ahci_trigger_irq’: hw/ide/ahci.c:187:5: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits] cc1: all warnings being treated as errors make: *** [hw/ide/ahci.o] Error 1 ATB, Mark.