From 73931e45af782b32573c11db1cb938d883489e86 Mon Sep 17 00:00:00 2001 From: Gary Lockyer Date: Mon, 19 May 2025 16:15:27 +1200 Subject: [PATCH] Fix clang 20 unused-but-set-variables warnings Suppress error: variable 'yynerrs' set but not used [-Werror,-Wunused-but-set-variable] for the code generated from the yacc files. Signed-off-by: Gary Lockyer Reviewed-by: Douglas Bagnall Reviewed-by: Anoop C S --- buildtools/wafsamba/samba_autoconf.py | 4 +++- libcli/security/wscript_build | 6 ++++++ libcli/wsp/wscript_build | 5 +++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py index 8b1f8b9da01..ad86a4f025e 100644 --- a/buildtools/wafsamba/samba_autoconf.py +++ b/buildtools/wafsamba/samba_autoconf.py @@ -836,11 +836,13 @@ int main(void) { if CHECK_CFLAGS(conf, ["-Wno-error=declaration-after-statement"]): conf.define('HAVE_WNO_ERROR_DECLARATION_AFTER_STATEMENT', 1) + if CHECK_CFLAGS(conf, ["-Wno-error=unused-but-set-variable"]): + conf.define('HAVE_WNO_ERROR_UNUSED_BUT_SET_VARIABLE', 1) + if not Options.options.disable_warnings_as_errors: conf.ADD_NAMED_CFLAGS('PICKY_CFLAGS', '-Werror -Wno-error=deprecated-declarations', testflags=True) conf.ADD_NAMED_CFLAGS('PICKY_CFLAGS', '-Wno-error=tautological-compare', testflags=True) conf.ADD_NAMED_CFLAGS('PICKY_CFLAGS', '-Wno-error=cast-align', testflags=True) - conf.ADD_NAMED_CFLAGS('PICKY_CFLAGS', '-Wno-error=unused-but-set-variable', testflags=True) conf.ADD_NAMED_CFLAGS('PICKY_CFLAGS', '-Wno-error=unused-function', testflags=True) conf.ADD_NAMED_CFLAGS('PICKY_CFLAGS', '-Wno-error=format-truncation', testflags=True) conf.ADD_NAMED_CFLAGS('PICKY_CFLAGS', '-Wno-error=cast-qual', testflags=True) diff --git a/libcli/security/wscript_build b/libcli/security/wscript_build index 945e5c3c846..62a22cc151e 100644 --- a/libcli/security/wscript_build +++ b/libcli/security/wscript_build @@ -1,6 +1,11 @@ #!/usr/bin/env python +parser_cflags = '' +if bld.CONFIG_SET('HAVE_WNO_UNUSED_BUT_SET_VARIABLE'): + # Suppress error: variable 'yynerrs' set but not used [-Werror,-Wunused-but-set-variable] + # for the generated code. + parser_cflags += ' -Wno-error=unused-but-set-variable' bld.SAMBA_LIBRARY('samba-security', source=['dom_sid.c', 'display_sec.c', 'secace.c', 'secacl.c', @@ -13,6 +18,7 @@ bld.SAMBA_LIBRARY('samba-security', 'claims_transformation.l', 'claims_transformation.y', ], + cflags=parser_cflags, private_library=True, deps='stable_sort talloc ndr NDR_SECURITY NDR_CONDITIONAL_ACE') diff --git a/libcli/wsp/wscript_build b/libcli/wsp/wscript_build index 2d34879a68f..d19f8249ccf 100644 --- a/libcli/wsp/wscript_build +++ b/libcli/wsp/wscript_build @@ -20,6 +20,11 @@ parser_cflags='' if bld.CONFIG_SET('HAVE_WNO_STRICT_OVERFLOW'): parser_cflags += ' -Wno-strict-overflow' +if bld.CONFIG_SET('HAVE_WNO_UNUSED_BUT_SET_VARIABLE'): + # Suppress error: variable 'yynerrs' set but not used [-Werror,-Wunused-but-set-variable] + # for the generated code. + parser_cflags += ' -Wno-error=unused-but-set-variable' + bld.SAMBA_SUBSYSTEM('LIBSAMBA_WSP_PARSER', source='wsp_aqs_parser.y', deps='talloc wsp_flex', -- 2.47.2