From 70929f7e1616bab2783cc5735c6061981cda8a0f Mon Sep 17 00:00:00 2001 From: ZyX Date: Sat, 10 May 2014 17:24:13 +0400 Subject: 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. --- src/nvim/garray.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/nvim/garray.c') diff --git a/src/nvim/garray.c b/src/nvim/garray.c index 79dc2e5797..14c1b1a767 100644 --- a/src/nvim/garray.c +++ b/src/nvim/garray.c @@ -15,6 +15,10 @@ // #include "nvim/globals.h" #include "nvim/memline.h" +#ifdef INCLUDE_GENERATED_DECLARATIONS +# include "garray.c.generated.h" +#endif + /// Clear an allocated growing array. void ga_clear(garray_T *gap) { @@ -110,6 +114,7 @@ void ga_remove_duplicate_strings(garray_T *gap) /// /// @returns the concatenated strings char_u *ga_concat_strings_sep(const garray_T *gap, const char *sep) + FUNC_ATTR_NONNULL_RET { const size_t nelem = (size_t) gap->ga_len; const char **strings = gap->ga_data; @@ -143,7 +148,7 @@ char_u *ga_concat_strings_sep(const garray_T *gap, const char *sep) /// @param gap /// /// @returns the concatenated strings -char_u* ga_concat_strings(const garray_T *gap) +char_u* ga_concat_strings(const garray_T *gap) FUNC_ATTR_NONNULL_RET { return ga_concat_strings_sep(gap, ","); } @@ -177,7 +182,7 @@ void ga_append(garray_T *gap, char c) gap->ga_len++; } -#if defined(UNIX) || defined(WIN3264) +#if defined(UNIX) || defined(WIN3264) || defined(PROTO) /// Append the text in "gap" below the cursor line and clear "gap". /// -- cgit