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:
Pavel Platto
2014-07-13 10:03:07 +03:00
committed by Nicolas Hillegeer
parent 2dc69700ec
commit 47084ea765
24 changed files with 115 additions and 126 deletions

View File

@@ -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