From patchwork Thu Jun 29 15:40:26 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Huth X-Patchwork-Id: 9817267 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 797DF6020A for ; Thu, 29 Jun 2017 15:40:41 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6C0142876A for ; Thu, 29 Jun 2017 15:40:41 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6063028770; Thu, 29 Jun 2017 15:40:41 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 02B3A2876A for ; Thu, 29 Jun 2017 15:40:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753703AbdF2Pke (ORCPT ); Thu, 29 Jun 2017 11:40:34 -0400 Received: from mx1.redhat.com ([209.132.183.28]:44392 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753692AbdF2Pkc (ORCPT ); Thu, 29 Jun 2017 11:40:32 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 25A4AC013C41 for ; Thu, 29 Jun 2017 15:40:32 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 25A4AC013C41 Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=thuth@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 25A4AC013C41 Received: from thh440s.redhat.com (ovpn-116-90.ams2.redhat.com [10.36.116.90]) by smtp.corp.redhat.com (Postfix) with ESMTP id E18375C54D; Thu, 29 Jun 2017 15:40:27 +0000 (UTC) From: Thomas Huth To: kvm@vger.kernel.org, Paolo Bonzini Cc: David Hildenbrand , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Laurent Vivier , Drew Jones Subject: [kvm-unit-tests PATCH] Replace -Wextra with a saner list of warning flags Date: Thu, 29 Jun 2017 17:40:26 +0200 Message-Id: <1498750826-7902-1-git-send-email-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Thu, 29 Jun 2017 15:40:32 +0000 (UTC) Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP 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 Reviewed-by: Laurent Vivier --- 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