[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 1/7] meson: Run some compiler checks using -Wno-unused-value
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH v3 1/7] meson: Run some compiler checks using -Wno-unused-value |
Date: |
Wed, 18 Dec 2024 19:21:00 +0100 |
When running Clang static analyzer on macOS I'm getting:
include/qemu/osdep.h:634:8: error: redefinition of 'iovec'
634 | struct iovec {
| ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_iovec_t.h:31:8:
note: previous definition is here
31 | struct iovec {
| ^
1 error generated.
Looking at meson-logs.txt, the analyzer enables -Wunused-value
making meson generated code to fail:
Code:
#include <sys/uio.h>
void bar(void) {
sizeof(struct iovec);
}
-----------
stderr:
meson-private/tmpe8_1b_00/testfile.c:3:13: error: expression result unused
[-Werror,-Wunused-value]
3 | sizeof(struct iovec);
| ^~~~~~~~~~~~~~~~~~~~
1 error generated.
-----------
Checking for type "struct iovec" : NO
Code:
#include <utmpx.h>
void bar(void) {
sizeof(struct utmpx);
}
-----------
stderr:
meson-private/tmp3n0u490p/testfile.c:3:13: error: expression result unused
[-Werror,-Wunused-value]
3 | sizeof(struct utmpx);
| ^~~~~~~~~~~~~~~~~~~~
1 error generated.
-----------
Checking for type "struct utmpx" : NO
Code:
#include <getopt.h>
int main(void) {
/* If it's not defined as a macro, try to use as a symbol */
#ifndef optreset
optreset;
#endif
return 0;
}
-----------
stderr:
meson-private/tmp1rzob_os/testfile.c:6:17: error: expression result unused
[-Werror,-Wunused-value]
6 | optreset;
| ^~~~~~~~
1 error generated.
-----------
Header "getopt.h" has symbol "optreset" : NO
Code:
#include <vmnet/vmnet.h>
int main(void) {
/* If it's not defined as a macro, try to use as a symbol */
#ifndef VMNET_BRIDGED_MODE
VMNET_BRIDGED_MODE;
#endif
return 0;
}
-----------
stderr:
meson-private/tmpl9jgsxpt/testfile.c:6:17: error: expression result unused
[-Werror,-Wunused-value]
6 | VMNET_BRIDGED_MODE;
| ^~~~~~~~~~~~~~~~~~
1 error generated.
-----------
Header "vmnet/vmnet.h" has symbol "VMNET_BRIDGED_MODE" with dependency
appleframeworks: NO
../meson.build:1174: WARNING: vmnet.framework API is outdated, disabling
Fix by explicitly disabling -Wunused-value from these meson checks.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
RFC: Probably meson should do that in has_header_symbol() / has_type()?
---
meson.build | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/meson.build b/meson.build
index 85f74854735..9d93dcd95d7 100644
--- a/meson.build
+++ b/meson.build
@@ -1189,7 +1189,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')
@@ -2713,7 +2714,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'))
@@ -2731,10 +2732,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