diff options
author | Yee Cheng Chin <ychin.git@gmail.com> | 2023-09-30 12:28:50 +0200 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2023-09-30 12:32:37 +0200 |
commit | f7f746b1672909ae57d2eec97253d6627f6c0887 (patch) | |
tree | 2f121d81a2c47cad103b793e81c5259daa727f8d /ci | |
parent | f3b68d4759a040ed0c4844c279ea3c779b3863ff (diff) |
patch 9.0.1960: Make CI checks more strictv9.0.1960
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 <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
Diffstat (limited to 'ci')
-rw-r--r-- | ci/config.mk.clang-12.sed | 2 | ||||
-rw-r--r-- | ci/config.mk.sed | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/ci/config.mk.clang-12.sed b/ci/config.mk.clang-12.sed index 810b723c7f..6b59a18011 100644 --- a/ci/config.mk.clang-12.sed +++ b/ci/config.mk.clang-12.sed @@ -1,3 +1,3 @@ # Clang 12 (or Apple clang 13) and later makes a warning '-Wcompound-token-split-by-macro' enable by default. -/^PERL_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=compound-token-split-by-macro/ +/^PERL_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=compound-token-split-by-macro -Wno-compound-token-split-by-macro/ /^RUBY_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=compound-token-split-by-macro/ diff --git a/ci/config.mk.sed b/ci/config.mk.sed index 06b6f73635..d888901931 100644 --- a/ci/config.mk.sed +++ b/ci/config.mk.sed @@ -1,3 +1,3 @@ -/^CFLAGS[[:blank:]]*=/s/$/ -Wall -Wextra -Wshadow -Werror -Wno-deprecated-declarations/ +/^CFLAGS[[:blank:]]*=/s/$/ -Wall -Wextra -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Werror -Wno-deprecated-declarations/ /^PERL_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=unused-function -Wno-shadow/ -/^RUBY_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=unused-parameter/ +/^RUBY_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=unused-parameter -Wno-strict-prototypes/ |