Message ID | 20191107010844.101059-3-morbo@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Use "-Werror" for checking flags | expand |
On 07/11/2019 02.08, Bill Wendling wrote: > The C++ compiler may not support all of the same flags as the C > compiler. Add a separate test for these flags. > > Signed-off-by: Bill Wendling <morbo@google.com> > --- > Makefile | 14 +++++++++++--- > 1 file changed, 11 insertions(+), 3 deletions(-) > > diff --git a/Makefile b/Makefile > index 4c716da..9cb47e6 100644 > --- a/Makefile > +++ b/Makefile > @@ -48,6 +48,8 @@ include $(SRCDIR)/$(TEST_DIR)/Makefile > > 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 ;) > +cxx-option = $(shell if $(CXX) -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 -Wempty-body -Wuninitialized > @@ -62,8 +64,6 @@ 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) > @@ -75,11 +75,19 @@ COMMON_CFLAGS += $(wclobbered) > COMMON_CFLAGS += $(wunused_but_set_parameter) > > CFLAGS += $(COMMON_CFLAGS) > +CXXFLAGS += $(COMMON_CFLAGS) > + > +wmissing_parameter_type := $(call cc-option, -Wmissing-parameter-type, "") > +wold_style_declaration := $(call cc-option, -Wold-style-declaration, "") > CFLAGS += $(wmissing_parameter_type) > CFLAGS += $(wold_style_declaration) > CFLAGS += -Woverride-init -Wmissing-prototypes -Wstrict-prototypes > > -CXXFLAGS += $(COMMON_CFLAGS) > +# Clang's C++ compiler doesn't support some of the flags its C compiler does. > +wmissing_parameter_type := $(call cxx-option, -Wmissing-parameter-type, "") > +wold_style_declaration := $(call cxx-option, -Wold-style-declaration, "") > +CXXFLAGS += $(wmissing_parameter_type) > +CXXFLAGS += $(wold_style_declaration) As mentioned in my mail to the previous version of this patch: I think both options are not valid with g++ as well, so I think this patch should simply be dropped. Thomas
On Tue, Nov 12, 2019 at 9:52 AM Thomas Huth <thuth@redhat.com> wrote: > > On 07/11/2019 02.08, Bill Wendling wrote: > > The C++ compiler may not support all of the same flags as the C > > compiler. Add a separate test for these flags. > > > > Signed-off-by: Bill Wendling <morbo@google.com> > > --- > > Makefile | 14 +++++++++++--- > > 1 file changed, 11 insertions(+), 3 deletions(-) > > > > diff --git a/Makefile b/Makefile > > index 4c716da..9cb47e6 100644 > > --- a/Makefile > > +++ b/Makefile > > @@ -48,6 +48,8 @@ include $(SRCDIR)/$(TEST_DIR)/Makefile > > > > 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 ;) > > +cxx-option = $(shell if $(CXX) -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 -Wempty-body -Wuninitialized > > @@ -62,8 +64,6 @@ 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) > > @@ -75,11 +75,19 @@ COMMON_CFLAGS += $(wclobbered) > > COMMON_CFLAGS += $(wunused_but_set_parameter) > > > > CFLAGS += $(COMMON_CFLAGS) > > +CXXFLAGS += $(COMMON_CFLAGS) > > + > > +wmissing_parameter_type := $(call cc-option, -Wmissing-parameter-type, "") > > +wold_style_declaration := $(call cc-option, -Wold-style-declaration, "") > > CFLAGS += $(wmissing_parameter_type) > > CFLAGS += $(wold_style_declaration) > > CFLAGS += -Woverride-init -Wmissing-prototypes -Wstrict-prototypes > > > > -CXXFLAGS += $(COMMON_CFLAGS) > > +# Clang's C++ compiler doesn't support some of the flags its C compiler does. > > +wmissing_parameter_type := $(call cxx-option, -Wmissing-parameter-type, "") > > +wold_style_declaration := $(call cxx-option, -Wold-style-declaration, "") > > +CXXFLAGS += $(wmissing_parameter_type) > > +CXXFLAGS += $(wold_style_declaration) > > As mentioned in my mail to the previous version of this patch: I think > both options are not valid with g++ as well, so I think this patch > should simply be dropped. > I agree. Thank you for the review! -bw
diff --git a/Makefile b/Makefile index 4c716da..9cb47e6 100644 --- a/Makefile +++ b/Makefile @@ -48,6 +48,8 @@ include $(SRCDIR)/$(TEST_DIR)/Makefile 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 ;) +cxx-option = $(shell if $(CXX) -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 -Wempty-body -Wuninitialized @@ -62,8 +64,6 @@ 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) @@ -75,11 +75,19 @@ COMMON_CFLAGS += $(wclobbered) COMMON_CFLAGS += $(wunused_but_set_parameter) CFLAGS += $(COMMON_CFLAGS) +CXXFLAGS += $(COMMON_CFLAGS) + +wmissing_parameter_type := $(call cc-option, -Wmissing-parameter-type, "") +wold_style_declaration := $(call cc-option, -Wold-style-declaration, "") CFLAGS += $(wmissing_parameter_type) CFLAGS += $(wold_style_declaration) CFLAGS += -Woverride-init -Wmissing-prototypes -Wstrict-prototypes -CXXFLAGS += $(COMMON_CFLAGS) +# Clang's C++ compiler doesn't support some of the flags its C compiler does. +wmissing_parameter_type := $(call cxx-option, -Wmissing-parameter-type, "") +wold_style_declaration := $(call cxx-option, -Wold-style-declaration, "") +CXXFLAGS += $(wmissing_parameter_type) +CXXFLAGS += $(wold_style_declaration) autodepend-flags = -MMD -MF $(dir $*).$(notdir $*).d
The C++ compiler may not support all of the same flags as the C compiler. Add a separate test for these flags. Signed-off-by: Bill Wendling <morbo@google.com> --- Makefile | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-)