mirror of
https://github.com/neovim/neovim.git
synced 2025-09-24 20:18:32 +00:00
Use strict function prototypes #945
`-Wstrict-prototypes` warn if a function is declared or defined without specifying the argument types. This warning disallow function prototypes with empty parameter list. In C, a function declared with an empty parameter list accepts an arbitrary number of arguments when being called. This is for historic reasons; originally, C functions didn't have prototypes, as C evolved from B, a typeless language. When prototypes were added, the original typeless declarations were left in the language for backwards compatibility. Instead we should provide `void` in argument list to state that function doesn't have arguments. Also this warning disallow declaring type of the parameters after the parentheses because Neovim header generator produce no declarations for old-stlyle prototypes: it expects to find `{` after prototype.
This commit is contained in:

committed by
Nicolas Hillegeer

parent
2dc69700ec
commit
47084ea765
@@ -41,17 +41,14 @@
|
||||
|
||||
#ifdef SIGHASARG
|
||||
# ifdef SIGHAS3ARGS
|
||||
# define SIGPROTOARG (int, int, struct sigcontext *)
|
||||
# define SIGDEFARG(s) (s, sig2, scont) int s, sig2; struct sigcontext *scont;
|
||||
# define SIGDEFARG(s) (int s, int sig2, struct sigcontext *scont)
|
||||
# define SIGDUMMYARG 0, 0, (struct sigcontext *)0
|
||||
# else
|
||||
# define SIGPROTOARG (int)
|
||||
# define SIGDEFARG(s) (s) int s;
|
||||
# define SIGDEFARG(s) (int s)
|
||||
# define SIGDUMMYARG 0
|
||||
# endif
|
||||
#else
|
||||
# define SIGPROTOARG (void)
|
||||
# define SIGDEFARG(s) ()
|
||||
# define SIGDEFARG(s) (void)
|
||||
# define SIGDUMMYARG
|
||||
#endif
|
||||
|
||||
|
Reference in New Issue
Block a user