From db465bae533f85e7f900deb96efecc831c9d550b Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Wed, 27 Sep 2017 14:31:39 -0400 Subject: meson: Port default warning flags from xorg-macros Well, almost all of them. No -Wdeclaration-after-statement because that's legal in C99, and in the limited ways we use it, more readable. Signed-off-by: Adam Jackson Reviewed-by: Daniel Stone --- meson.build | 45 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index 811d3d4ce..d71cfed5a 100644 --- a/meson.build +++ b/meson.build @@ -14,8 +14,49 @@ add_global_arguments('-fvisibility=hidden', language : 'c') add_global_link_arguments('-fvisibility=hidden', language : 'c') -# Quiet some EXA warnings. -add_global_arguments('-Wno-discarded-qualifiers', language : 'c') +if cc.get_id() == 'gcc' or cc.get_id() == 'clang' + test_wflags = [ + '-Wall', + '-Wpointer-arith', + '-Wmissing-declarations', + '-Wformat=2', + '-Wstrict-prototypes', + '-Wmissing-prototypes', + '-Wnested-externs', + '-Wbad-function-cast', + '-Wold-style-definition', + '-Wunused', + '-Wuninitialized', + '-Wshadow', + '-Wmissing-noreturn', + '-Wmissing-format-attribute', + '-Wredundant-decls', + '-Werror=implicit', + '-Werror=nonnull', + '-Werror=init-self', + '-Werror=main', + '-Werror=missing-braces', + '-Werror=sequence-point', + '-Werror=return-type', + '-Werror=trigraphs', + '-Werror=array-bounds', + '-Werror=write-strings', + '-Werror=address', + '-Werror=int-to-pointer-cast', + '-Werror=pointer-to-int-cast', + ] +else + test_wflags = [] +endif + +common_wflags = [] +foreach wflag: test_wflags + if cc.has_argument(wflag) + common_wflags += [ wflag ] + endif +endforeach + +add_global_arguments(common_wflags, language : 'c') xproto_dep = dependency('xproto', version: '>= 7.0.31') randrproto_dep = dependency('randrproto', version: '>= 1.5.0') -- cgit v1.2.3