From f7f746b1672909ae57d2eec97253d6627f6c0887 Mon Sep 17 00:00:00 2001 From: Yee Cheng Chin Date: Sat, 30 Sep 2023 12:28:50 +0200 Subject: patch 9.0.1960: Make CI checks more strict Problem: Make CI checks more strict Solution: Add -Wstrict-prototypes -Wmissing-prototypes to CI, fix uncovered problems Add -Wstrict-prototypes -Wmissing-prototypes warnings check to CI Add two new warnings to CI, silence some Perl related build-warnings: - `strict-prototypes` helps prevent declaring a function with an empty argument list, e.g. `int func()`. In C++, that's equivalent to `int func(void)`, but in C, that means a function that can take any number of arguments which is rarely what we want. - `missing-prototypes` makes sure we use `static` for file-only internal functions. Non-static functions should have been declared on a prototype file. - Add `no-compound-token-split-by-macro` to the perl cflags, since it throws out a bunch of perl-related warnings that make the CI log unnecessary verbose and hard to read. This seems to happen only with clang 12 and above. When applying those changes, it already uncovered a few warnings, so fix up the code as well (fix prototypes, make the code static, remove shadowed var declaration) GTK header needs to have #pragma warning suppressiong because GTK2 headers will warn on `-Wstrict-prototypes`, and it's included by gui.h and so we can't just turn off the warning in a couple files. closes: #13223 closes: #13226 Signed-off-by: Christian Brabandt Co-authored-by: Yee Cheng Chin --- src/if_perl.xs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/if_perl.xs') diff --git a/src/if_perl.xs b/src/if_perl.xs index a5b3f285b9..180fce64c4 100644 --- a/src/if_perl.xs +++ b/src/if_perl.xs @@ -338,7 +338,7 @@ typedef int perl_key; */ static HANDLE hPerlLib = NULL; -static PerlInterpreter* (*perl_alloc)(); +static PerlInterpreter* (*perl_alloc)(void); static void (*perl_construct)(PerlInterpreter*); static void (*perl_destruct)(PerlInterpreter*); static void (*perl_free)(PerlInterpreter*); -- cgit v1.2.3