build: enable extra warnings with meson
authorBruce Richardson <bruce.richardson@intel.com>
Mon, 7 Oct 2019 14:30:12 +0000 (15:30 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 23 Oct 2019 23:03:30 +0000 (01:03 +0200)
While meson always adds -Wall flag to C compiles, the make build adds extra
warning flags that are not present in the meson build. This addresses that
shortcoming by adding additional warning flags to our builds. The one
omission is the -Wcast-align flag, which though present in make gcc builds,
gives a lot of warnings/errors when used with clang.

The removed warning "-Wunused-parameter" is covered by the "-Wextra"
parameter so is unnecessary.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Luca Boccassi <bluca@debian.org>
config/meson.build
drivers/bus/dpaa/meson.build
drivers/event/dsw/meson.build
drivers/net/dpaa/meson.build
drivers/net/i40e/base/meson.build

index a27f731..acacba7 100644 (file)
@@ -142,10 +142,28 @@ add_project_arguments('-include', 'rte_config.h', language: 'c')
 
 # enable extra warnings and disable any unwanted warnings
 warning_flags = [
-       '-Wunused-parameter',
-       '-Wsign-compare',
+       # -Wall is added by meson by default, so add -Wextra only
+       '-Wextra',
+
+       # additional warnings in alphabetical order
        '-Wcast-qual',
-       '-Wno-address-of-packed-member'
+       '-Wdeprecated',
+       '-Wformat-nonliteral',
+       '-Wformat-security',
+       '-Wmissing-declarations',
+       '-Wmissing-prototypes',
+       '-Wnested-externs',
+       '-Wold-style-definition',
+       '-Wpointer-arith',
+       '-Wsign-compare',
+       '-Wstrict-prototypes',
+       '-Wundef',
+       '-Wwrite-strings',
+
+       # globally disabled warnings
+       '-Wno-address-of-packed-member',
+       '-Wno-packed-not-aligned',
+       '-Wno-missing-field-initializers'
 ]
 if not dpdk_conf.get('RTE_ARCH_64')
 # for 32-bit, don't warn about casting a 32-bit pointer to 64-bit int - it's fine!!
index 19daaa5..c9c3b24 100644 (file)
@@ -27,5 +27,8 @@ allow_experimental_apis = true
 if cc.has_argument('-Wno-cast-qual')
        cflags += '-Wno-cast-qual'
 endif
+if cc.has_argument('-Wno-pointer-arith')
+       cflags += '-Wno-pointer-arith'
+endif
 
 includes += include_directories('include', 'base/qbman')
index a3d09ee..60ab13d 100644 (file)
@@ -2,4 +2,7 @@
 # Copyright(c) 2018 Ericsson AB
 
 deps += ['bus_vdev']
+if cc.has_argument('-Wno-format-nonliteral')
+       cflags += '-Wno-format-nonliteral'
+endif
 sources = files('dsw_evdev.c', 'dsw_event.c', 'dsw_xstats.c')
index 94c0e22..542b44a 100644 (file)
@@ -10,6 +10,10 @@ deps += ['mempool_dpaa']
 sources = files('dpaa_ethdev.c',
                'dpaa_rxtx.c')
 
+if cc.has_argument('-Wno-pointer-arith')
+       cflags += '-Wno-pointer-arith'
+endif
+
 allow_experimental_apis = true
 
 install_headers('rte_pmd_dpaa.h')
index 13d16b0..3dee8c9 100644 (file)
@@ -12,7 +12,8 @@ sources = [
 ]
 
 error_cflags = ['-Wno-sign-compare', '-Wno-unused-value',
-               '-Wno-format', '-Wno-error=format-security',
+               '-Wno-format', '-Wno-format-security',
+               '-Wno-format-nonliteral',
                '-Wno-strict-aliasing', '-Wno-unused-but-set-variable',
                '-Wno-unused-parameter',
 ]