diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-10-01 18:18:30 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2023-10-01 20:00:23 +0800 |
commit | 6a7d533444f3643c673812c2de46f9b3ee47ba18 (patch) | |
tree | 17e3fa3a25ed21020bb7eb1eb4aa90019857e022 | |
parent | f06af5e66981095f3244f67d1587ce7e9853eb4c (diff) | |
download | rneovim-6a7d533444f3643c673812c2de46f9b3ee47ba18.tar.gz rneovim-6a7d533444f3643c673812c2de46f9b3ee47ba18.tar.bz2 rneovim-6a7d533444f3643c673812c2de46f9b3ee47ba18.zip |
vim-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: vim/vim#13223
closes: vim/vim#13226
https://github.com/vim/vim/commit/f7f746b1672909ae57d2eec97253d6627f6c0887
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
-rw-r--r-- | src/nvim/option.c | 6 | ||||
-rw-r--r-- | src/nvim/optionstr.c | 10 |
2 files changed, 8 insertions, 8 deletions
diff --git a/src/nvim/option.c b/src/nvim/option.c index 89e797d580..be089400e5 100644 --- a/src/nvim/option.c +++ b/src/nvim/option.c @@ -5552,9 +5552,9 @@ void set_context_in_set_cmd(expand_T *xp, char *arg, int opt_flags) /// /// If "test_only" is false and "fuzzy" is true and if "str" fuzzy matches /// "fuzzystr", then stores the match details in fuzmatch[idx] and returns true. -bool match_str(char *const str, regmatch_T *const regmatch, char **const matches, const int idx, - const bool test_only, const bool fuzzy, const char *const fuzzystr, - fuzmatch_str_T *const fuzmatch) +static bool match_str(char *const str, regmatch_T *const regmatch, char **const matches, + const int idx, const bool test_only, const bool fuzzy, + const char *const fuzzystr, fuzmatch_str_T *const fuzmatch) { if (!fuzzy) { if (vim_regexec(regmatch, str, (colnr_T)0)) { diff --git a/src/nvim/optionstr.c b/src/nvim/optionstr.c index f820a9fc49..3ea73560c1 100644 --- a/src/nvim/optionstr.c +++ b/src/nvim/optionstr.c @@ -676,8 +676,8 @@ static const char *did_set_option_listflag(char *val, char *flags, char *errbuf, } /// Expand an option that accepts a list of string values. -int expand_set_opt_string(optexpand_T *args, char **values, size_t numValues, int *numMatches, - char ***matches) +static int expand_set_opt_string(optexpand_T *args, char **values, size_t numValues, + int *numMatches, char ***matches) { regmatch_T *regmatch = args->oe_regmatch; bool include_orig_val = args->oe_include_orig_val; @@ -728,8 +728,8 @@ static char *expand_set_opt_callback(expand_T *xp, int idx) } /// Expand an option with a callback that iterates through a list of possible names. -int expand_set_opt_generic(optexpand_T *args, CompleteListItemGetter func, int *numMatches, - char ***matches) +static int expand_set_opt_generic(optexpand_T *args, CompleteListItemGetter func, int *numMatches, + char ***matches) { set_opt_callback_orig_option = args->oe_include_orig_val ? args->oe_opt_value : NULL; set_opt_callback_func = func; @@ -744,7 +744,7 @@ int expand_set_opt_generic(optexpand_T *args, CompleteListItemGetter func, int * } /// Expand an option which is a list of flags. -int expand_set_opt_listflag(optexpand_T *args, char *flags, int *numMatches, char ***matches) +static int expand_set_opt_listflag(optexpand_T *args, char *flags, int *numMatches, char ***matches) { char *option_val = args->oe_opt_value; char *cmdline_val = args->oe_set_arg; |