From b59bce308df746e1793b134db7fec4c298ed1f61 Mon Sep 17 00:00:00 2001 From: Frantisek Sumsal Date: Tue, 16 Jan 2024 22:25:04 +0100 Subject: [PATCH] meson: disable -Wnonnull-compare MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This gets enabled by default in gcc-14 and complains everywhere where we use assert() on an expression that is always true (i.e. using `int x[static 2]` in function declaration, etc.): [153/2414] Compiling C object src/basic/libbasic.a.p/fs-util.c.o In file included from ../src/basic/macro.h:13, from ../src/basic/alloc-util.h:10, from ../src/basic/fs-util.c:11: ../src/basic/fd-util.h: In function ‘format_proc_fd_path’: ../src/fundamental/macro-fundamental.h:74:41: warning: ‘nonnull’ argument ‘buf’ compared to NULL [-Wnonnull-compare] 74 | #define _unlikely_(x) (__builtin_expect(!!(x), 0)) | ^~~~~ ../src/basic/macro.h:150:21: note: in expansion of macro ‘_unlikely_’ 150 | if (_unlikely_(!(expr))) \ | ^~~~~~~~~~ ../src/basic/macro.h:167:22: note: in expansion of macro ‘assert_message_se’ 167 | #define assert(expr) assert_message_se(expr, #expr) | ^~~~~~~~~~~~~~~~~ ../src/basic/fd-util.h:129:9: note: in expansion of macro ‘assert’ 129 | assert(buf); | ^~~~~~ Disabling this selectively only for asserts is a bit painful, since the option is not available in all compilers, and it'd need to be handled in the EFI stuff as well. --- meson.build | 1 + 1 file changed, 1 insertion(+) diff --git a/meson.build b/meson.build index 53a3d966ff..02a0e9b8f8 100644 --- a/meson.build +++ b/meson.build @@ -341,6 +341,7 @@ endif basic_disabled_warnings = [ '-Wno-missing-field-initializers', '-Wno-unused-parameter', + '-Wno-nonnull-compare', ] possible_common_cc_flags = [