[PATCH xserver 3/3] meson: Port default warning flags from xorg-macros

Adam Jackson ajax at redhat.com
Wed Sep 27 17:09:58 UTC 2017


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 <ajax at redhat.com>
---
 meson.build | 46 ++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 44 insertions(+), 2 deletions(-)

diff --git a/meson.build b/meson.build
index e5bd282154..7d0cf47600 100644
--- a/meson.build
+++ b/meson.build
@@ -14,8 +14,50 @@ 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',
+        '-Wdeclaration-after-statement',
+        '-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')
-- 
2.13.5



More information about the xorg-devel mailing list