Add automatic generation of headers

- The 'stripdecls.py' script replaces declarations in all headers by includes to
  generated headers.
  `ag '#\s*if(?!ndef NEOVIM_).*((?!#\s*endif).*\n)*#ifdef INCLUDE_GENERATED'`
  was used for this.
- Add and integrate gendeclarations.lua into the build system to generate the
  required includes.
- Add -Wno-unused-function
- Made a bunch of old-style definitions ANSI

This adds a requirement: all type and structure definitions must be present
before INCLUDE_GENERATED_DECLARATIONS-protected include.

Warning: mch_expandpath (path.h.generated.h) was moved manually. So far it is
the only exception.
This commit is contained in:
ZyX
2014-05-10 17:24:13 +04:00
committed by Thiago de Arruda
parent 880957ad4e
commit 70929f7e16
154 changed files with 2190 additions and 6184 deletions

View File

@@ -80,19 +80,16 @@
static int selinux_enabled = -1;
#endif
static int get_x11_title(int);
static int get_x11_icon(int);
#ifdef INCLUDE_GENERATED_DECLARATIONS
# include "os_unix.c.generated.h"
#endif
static char_u *oldtitle = NULL;
static int did_set_title = FALSE;
static char_u *oldicon = NULL;
static int did_set_icon = FALSE;
static int have_wildcard(int, char_u **);
static int have_dollars(int, char_u **);
static void save_patterns(int num_pat, char_u **pat, int *num_file,
char_u ***file);
/*
* Write s[len] to the screen.
@@ -381,7 +378,7 @@ int vim_is_fastterm(char_u *name)
*/
void fname_case(
char_u *name,
int len; /* buffer size, only used when name gets longer */
int len /* buffer size, only used when name gets longer */
)
{
struct stat st;
@@ -555,7 +552,6 @@ void mch_free_mem() {
#endif
static void exit_scroll(void);
/*
* Output a newline when exiting.
@@ -773,8 +769,7 @@ void get_stty()
/*
* Set mouse clicks on or off.
*/
void mch_setmouse(on)
int on;
void mch_setmouse(int on)
{
static int ison = FALSE;
int xterm_mouse_vers;
@@ -1010,12 +1005,10 @@ void mch_set_shellsize()
#define SHELL_SPECIAL (char_u *)"\t \"&'$;<>()\\|"
int mch_expand_wildcards(num_pat, pat, num_file, file, flags)
int num_pat;
char_u **pat;
int *num_file;
char_u ***file;
int flags; /* EW_* flags */
int mch_expand_wildcards(int num_pat, char_u **pat, int *num_file,
char_u ***file,
int flags /* EW_* flags */
)
{
int i;
size_t len;
@@ -1426,11 +1419,8 @@ notfound:
}
static void save_patterns(num_pat, pat, num_file, file)
int num_pat;
char_u **pat;
int *num_file;
char_u ***file;
static void save_patterns(int num_pat, char_u **pat, int *num_file,
char_u ***file)
{
int i;
char_u *s;
@@ -1451,8 +1441,7 @@ char_u ***file;
* Return TRUE if the string "p" contains a wildcard that mch_expandpath() can
* expand.
*/
int mch_has_exp_wildcard(p)
char_u *p;
int mch_has_exp_wildcard(char_u *p)
{
for (; *p; mb_ptr_adv(p)) {
if (*p == '\\' && p[1] != NUL)
@@ -1469,8 +1458,7 @@ char_u *p;
* Return TRUE if the string "p" contains a wildcard.
* Don't recognize '~' at the end as a wildcard.
*/
int mch_has_wildcard(p)
char_u *p;
int mch_has_wildcard(char_u *p)
{
for (; *p; mb_ptr_adv(p)) {
if (*p == '\\' && p[1] != NUL)
@@ -1484,9 +1472,7 @@ char_u *p;
return FALSE;
}
static int have_wildcard(num, file)
int num;
char_u **file;
static int have_wildcard(int num, char_u **file)
{
int i;
@@ -1496,9 +1482,7 @@ char_u **file;
return 0;
}
static int have_dollars(num, file)
int num;
char_u **file;
static int have_dollars(int num, char_u **file)
{
int i;
@@ -1518,14 +1502,12 @@ typedef int (*INTPROCINT)(int);
* Call a DLL routine which takes either a string or int param
* and returns an allocated string.
*/
int mch_libcall(libname, funcname, argstring, argint, string_result,
number_result)
char_u *libname;
char_u *funcname;
char_u *argstring; /* NULL when using a argint */
int argint;
char_u **string_result; /* NULL when using number_result */
int *number_result;
int mch_libcall(char_u *libname,
char_u *funcname,
char_u *argstring, /* NULL when using a argint */
int argint,
char_u **string_result, /* NULL when using number_result */
int *number_result)
{
# if defined(USE_DLOPEN)
void *hinstLib;