From bce2c64e8c9597e4a8915a5c94e11bcd64b0f5ef Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Tue, 12 Jan 2016 13:10:04 +0000 Subject: disas/libvixl: Suppress gcc 4.6.3 sign-compare warnings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The VIXL code includes some equality comparisons between signed and unsigned types. Modern gcc and clang do not complain about these, but older versions of gcc such as gcc 4.6.3 do. Since libvixl is an upstream library, the simplest approach is to suppress the warnings by applying -Wno-sign-compare to the relevant files. (GCC 4.6 is not quite yet irrelevant for us; it is the gcc shipped with Ubuntu Precise, for example, which is an LTS release not yet out of its support period.) Signed-off-by: Peter Maydell Message-id: 1452604204-27202-1-git-send-email-peter.maydell@linaro.org Reviewed-by: Alex Bennée --- disas/Makefile.objs | 5 ++++- disas/libvixl/Makefile.objs | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/disas/Makefile.objs b/disas/Makefile.objs index 8dae4da..abeba84 100644 --- a/disas/Makefile.objs +++ b/disas/Makefile.objs @@ -4,7 +4,10 @@ common-obj-$(CONFIG_ARM_DIS) += arm.o common-obj-$(CONFIG_ARM_A64_DIS) += arm-a64.o common-obj-$(CONFIG_ARM_A64_DIS) += libvixl/ libvixldir = $(SRC_PATH)/disas/libvixl -arm-a64.o-cflags := -I$(libvixldir) +# The -Wno-sign-compare is needed only for gcc 4.6, which complains about +# some signed-unsigned equality comparisons in libvixl which later gcc +# versions do not. +arm-a64.o-cflags := -I$(libvixldir) -Wno-sign-compare common-obj-$(CONFIG_CRIS_DIS) += cris.o common-obj-$(CONFIG_HPPA_DIS) += hppa.o common-obj-$(CONFIG_I386_DIS) += i386.o diff --git a/disas/libvixl/Makefile.objs b/disas/libvixl/Makefile.objs index e373cf0..d1e801a 100644 --- a/disas/libvixl/Makefile.objs +++ b/disas/libvixl/Makefile.objs @@ -4,6 +4,8 @@ libvixl_OBJS = vixl/utils.o \ vixl/a64/decoder-a64.o \ vixl/a64/disasm-a64.o -$(addprefix $(obj)/,$(libvixl_OBJS)): QEMU_CFLAGS := -I$(SRC_PATH)/disas/libvixl $(QEMU_CFLAGS) +# The -Wno-sign-compare is needed only for gcc 4.6, which complains about +# some signed-unsigned equality comparisons which later gcc versions do not. +$(addprefix $(obj)/,$(libvixl_OBJS)): QEMU_CFLAGS := -I$(SRC_PATH)/disas/libvixl -Wno-sign-compare $(QEMU_CFLAGS) common-obj-$(CONFIG_ARM_A64_DIS) += $(libvixl_OBJS) -- cgit v1.1