On 12/12/24 10:15, Daniel P. Berrangé wrote:
On Thu, Dec 12, 2024 at 12:16:55AM +0100, Philippe Mathieu-Daudé wrote:
When running Clang static analyzer on macOS I'm getting:
snip
Fix by explicitly disabling -Wunused-value from these meson checks.
Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
---
RFC: Probably meson should do that in has_header_symbol() / has_type()?
How are you enabling the use of static analyzers ? There are several
different ways to change compiler options and I vaguely recall some
approaches can trip up meson.
I prefix my build with 'scan-build':
$ scan-build make
scan-build: Using '/usr/bin/clang' for static analysis
config-host.mak is out-of-date, running configure
C compiler for the host machine: clang (clang 16.0.0 "Apple clang
version 16.0.0 (clang-1600.0.26.4)")
You can reproduce without using scan-build by passing
--extra-cflags=-Wunused-value to ./configure.
We have a "disable some undesirable warnings" section in
warn_flags[] in meson.build. If we want to ignore unused
we should add it there, but I'd rather not ignore them ;)
---
meson.build | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/meson.build b/meson.build
index 147097c652e..a431aa982ac 100644
--- a/meson.build
+++ b/meson.build
@@ -1166,7 +1166,8 @@ cocoa = dependency('appleframeworks',
vmnet = dependency('appleframeworks', modules: 'vmnet', required:
get_option('vmnet'))
if vmnet.found() and not cc.has_header_symbol('vmnet/vmnet.h',
'VMNET_BRIDGED_MODE',
- dependencies: vmnet)
+ dependencies: vmnet,
+ args: '-Wno-unused-value')
vmnet = not_found
if get_option('vmnet').enabled()
error('vmnet.framework API is outdated')
@@ -2690,7 +2691,7 @@ config_host_data.set('CONFIG_RTNETLINK',
config_host_data.set('CONFIG_SYSMACROS',
cc.has_header_symbol('sys/sysmacros.h', 'makedev'))
config_host_data.set('HAVE_OPTRESET',
- cc.has_header_symbol('getopt.h', 'optreset'))
+ cc.has_header_symbol('getopt.h', 'optreset', args:
'-Wno-unused-value'))
config_host_data.set('HAVE_IPPROTO_MPTCP',
cc.has_header_symbol('netinet/in.h', 'IPPROTO_MPTCP'))
@@ -2708,10 +2709,12 @@ config_host_data.set('HAVE_BLK_ZONE_REP_CAPACITY',
# has_type
config_host_data.set('CONFIG_IOVEC',
cc.has_type('struct iovec',
- prefix: '#include <sys/uio.h>'))
+ prefix: '#include <sys/uio.h>',
+ args: '-Wno-unused-value'))
config_host_data.set('HAVE_UTMPX',
cc.has_type('struct utmpx',
- prefix: '#include <utmpx.h>'))
+ prefix: '#include <utmpx.h>',
+ args: '-Wno-unused-value'))
config_host_data.set('CONFIG_EVENTFD', cc.links('''
#include <sys/eventfd.h>
--
2.45.2
With regards,
Daniel