All of lore.kernel.org
 help / color / mirror / Atom feed
* [kvm-unit-tests PATCH] Replace -Wextra with a saner list of warning flags
@ 2017-06-29 15:40 Thomas Huth
  2017-06-29 16:30 ` Thomas Huth
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Thomas Huth @ 2017-06-29 15:40 UTC (permalink / raw)
  To: kvm, Paolo Bonzini
  Cc: David Hildenbrand, Radim Krčmář,
	Laurent Vivier, Drew Jones

Using -Wextra together with -Werror is troublesome - various versions
of GCC produce suspicious or even wrong warnings with -Wextra which
then become fatal errors with -Werror. For example, the current state
of the kvm-unit-tests does not compile anymore with GCC 4.8.1 for
s390x due to an inadequate -Wmissing-field-initializers warning.
That's annoying for users who just would like to compile the
kvm-unit-tests and cumbersome for the developers who have to work
around these problems in the source code. So let's replace -Wextra
by a saner lists of warning flags that are normally enabled by -Wextra.
Most of them are added to the architecture independent CFLAGS list,
so that x86 now benefits from these checks, too. The ones that
could not be added there are placed in the architecture specific
CFLAGS instead.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 Makefile                | 5 +++--
 arm/Makefile.common     | 3 ++-
 powerpc/Makefile.common | 3 ++-
 s390x/Makefile          | 3 ++-
 4 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/Makefile b/Makefile
index e79cf93..56d2fd7 100644
--- a/Makefile
+++ b/Makefile
@@ -50,8 +50,9 @@ include $(SRCDIR)/$(TEST_DIR)/Makefile
 cc-option = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null \
               > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;)
 
-CFLAGS += -g
-CFLAGS += $(autodepend-flags) -Wall -Wwrite-strings -Werror
+CFLAGS += -g $(autodepend-flags)
+CFLAGS += -Wall -Wwrite-strings -Wclobbered -Wempty-body -Wignored-qualifiers
+CFLAGS += -Wtype-limits -Wuninitialized -Wunused-but-set-parameter -Werror
 frame-pointer-flag=-f$(if $(KEEP_FRAME_POINTER),no-,)omit-frame-pointer
 fomit_frame_pointer := $(call cc-option, $(frame-pointer-flag), "")
 fnostack_protector := $(call cc-option, -fno-stack-protector, "")
diff --git a/arm/Makefile.common b/arm/Makefile.common
index 03b497b..2840c2a 100644
--- a/arm/Makefile.common
+++ b/arm/Makefile.common
@@ -24,7 +24,8 @@ phys_base = $(LOADADDR)
 
 CFLAGS += -std=gnu99
 CFLAGS += -ffreestanding
-CFLAGS += -Wextra
+CFLAGS += -Wmissing-parameter-type -Wold-style-declaration -Woverride-init
+CFLAGS += -Wsign-compare
 CFLAGS += -O2
 CFLAGS += -I $(SRCDIR)/lib -I $(SRCDIR)/lib/libfdt -I lib
 
diff --git a/powerpc/Makefile.common b/powerpc/Makefile.common
index db5ba62..50c4b24 100644
--- a/powerpc/Makefile.common
+++ b/powerpc/Makefile.common
@@ -19,7 +19,8 @@ all: directories $(TEST_DIR)/boot_rom.bin $(tests-all)
 
 CFLAGS += -std=gnu99
 CFLAGS += -ffreestanding
-CFLAGS += -Wextra
+CFLAGS += -Wmissing-parameter-type -Wold-style-declaration -Woverride-init
+CFLAGS += -Wsign-compare
 CFLAGS += -O2
 CFLAGS += -I $(SRCDIR)/lib -I $(SRCDIR)/lib/libfdt -I lib
 CFLAGS += -Wa,-mregnames
diff --git a/s390x/Makefile b/s390x/Makefile
index 470cbba..3b8f5d9 100644
--- a/s390x/Makefile
+++ b/s390x/Makefile
@@ -7,7 +7,8 @@ test_cases: $(tests)
 
 CFLAGS += -std=gnu99
 CFLAGS += -ffreestanding
-CFLAGS += -Wextra
+CFLAGS += -Wmissing-parameter-type -Wold-style-declaration -Woverride-init
+CFLAGS += -Wsign-compare
 CFLAGS += -I $(SRCDIR)/lib
 CFLAGS += -O2
 CFLAGS += -march=z900
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-06-30 10:40 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-29 15:40 [kvm-unit-tests PATCH] Replace -Wextra with a saner list of warning flags Thomas Huth
2017-06-29 16:30 ` Thomas Huth
2017-06-29 16:35   ` Andrew Jones
2017-06-29 17:00     ` Paolo Bonzini
2017-06-29 16:56 ` Laurent Vivier
2017-06-29 17:07 ` Paolo Bonzini
2017-06-29 17:19   ` Thomas Huth
2017-06-30 10:40     ` Paolo Bonzini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.