diff mbox series

[kvm-unit-tests,1/2] Makefile: use "-Werror" in cc-option

Message ID 20191107010844.101059-2-morbo@google.com (mailing list archive)
State New, archived
Headers show
Series Use "-Werror" for checking flags | expand

Commit Message

Bill Wendling Nov. 7, 2019, 1:08 a.m. UTC
The "cc-option" macro should use "-Werror" to determine if a flag is
supported. Otherwise the test may not return a nonzero result. Also
conditionalize some of the warning flags which aren't supported by
clang.

Signed-off-by: Bill Wendling <morbo@google.com>
---
 Makefile | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

Comments

Thomas Huth Nov. 12, 2019, 5:47 p.m. UTC | #1
On 07/11/2019 02.08, Bill Wendling wrote:
> The "cc-option" macro should use "-Werror" to determine if a flag is
> supported. Otherwise the test may not return a nonzero result. Also
> conditionalize some of the warning flags which aren't supported by
> clang.
> 
> Signed-off-by: Bill Wendling <morbo@google.com>
> ---
>  Makefile | 20 ++++++++++++++------
>  1 file changed, 14 insertions(+), 6 deletions(-)

Reviewed-by: Thomas Huth <thuth@redhat.com>
Paolo Bonzini Nov. 15, 2019, 10:19 a.m. UTC | #2
On 12/11/19 18:47, Thomas Huth wrote:
> On 07/11/2019 02.08, Bill Wendling wrote:
>> The "cc-option" macro should use "-Werror" to determine if a flag is
>> supported. Otherwise the test may not return a nonzero result. Also
>> conditionalize some of the warning flags which aren't supported by
>> clang.
>>
>> Signed-off-by: Bill Wendling <morbo@google.com>
>> ---
>>  Makefile | 20 ++++++++++++++------
>>  1 file changed, 14 insertions(+), 6 deletions(-)
> 
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> 

Queued, thanks.

(As for C++, the right thing to do would be to rewrite the tests for
tools/testing/selftests/kvm/ and get rid of it...).

Paolo
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index 32414dc..4c716da 100644
--- a/Makefile
+++ b/Makefile
@@ -46,13 +46,13 @@  include $(SRCDIR)/$(TEST_DIR)/Makefile
 # cc-option
 # Usage: OP_CFLAGS+=$(call cc-option, -falign-functions=0, -malign-functions=0)
 
-cc-option = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null \
+cc-option = $(shell if $(CC) -Werror $(1) -S -o /dev/null -xc /dev/null \
               > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;)
 
 COMMON_CFLAGS += -g $(autodepend-flags)
-COMMON_CFLAGS += -Wall -Wwrite-strings -Wclobbered -Wempty-body -Wuninitialized
-COMMON_CFLAGS += -Wignored-qualifiers -Wunused-but-set-parameter
-COMMON_CFLAGS += -Werror
+COMMON_CFLAGS += -Wall -Wwrite-strings -Wempty-body -Wuninitialized
+COMMON_CFLAGS += -Wignored-qualifiers -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, "")
@@ -60,16 +60,24 @@  fnostack_protector_all := $(call cc-option, -fno-stack-protector-all, "")
 wno_frame_address := $(call cc-option, -Wno-frame-address, "")
 fno_pic := $(call cc-option, -fno-pic, "")
 no_pie := $(call cc-option, -no-pie, "")
+wclobbered := $(call cc-option, -Wclobbered, "")
+wunused_but_set_parameter := $(call cc-option, -Wunused-but-set-parameter, "")
+wmissing_parameter_type := $(call cc-option, -Wmissing-parameter-type, "")
+wold_style_declaration := $(call cc-option, -Wold-style-declaration, "")
+
 COMMON_CFLAGS += $(fomit_frame_pointer)
 COMMON_CFLAGS += $(fno_stack_protector)
 COMMON_CFLAGS += $(fno_stack_protector_all)
 COMMON_CFLAGS += $(wno_frame_address)
 COMMON_CFLAGS += $(if $(U32_LONG_FMT),-D__U32_LONG_FMT__,)
 COMMON_CFLAGS += $(fno_pic) $(no_pie)
+COMMON_CFLAGS += $(wclobbered)
+COMMON_CFLAGS += $(wunused_but_set_parameter)
 
 CFLAGS += $(COMMON_CFLAGS)
-CFLAGS += -Wmissing-parameter-type -Wold-style-declaration -Woverride-init
-CFLAGS += -Wmissing-prototypes -Wstrict-prototypes
+CFLAGS += $(wmissing_parameter_type)
+CFLAGS += $(wold_style_declaration)
+CFLAGS += -Woverride-init -Wmissing-prototypes -Wstrict-prototypes
 
 CXXFLAGS += $(COMMON_CFLAGS)