mirror of
https://github.com/neovim/neovim.git
synced 2025-10-02 16:08:36 +00:00
build: PRAGMA_DIAG_PUSH_IGNORE_MISSING_PROTOTYPES
On Travis CI, -Wmissing-prototypes gives strange error: In file included from ../src/nvim/eval.c:5965: /home/travis/build/neovim/neovim/build/src/nvim/auto/funcs.generated.h.gperf:215:1: error: conflicting types for 'find_internal_func_gperf' find_internal_func_gperf (register const char *str, register unsigned int len) ^ ../src/nvim/eval.c:5962:20: note: previous declaration is here const VimLFuncDef *find_internal_func_gperf(register const char *str, ^
This commit is contained in:
@@ -80,7 +80,7 @@
|
|||||||
|
|
||||||
# undef STATIC_ASSERT_PRAGMA_END
|
# undef STATIC_ASSERT_PRAGMA_END
|
||||||
# define STATIC_ASSERT_PRAGMA_END \
|
# define STATIC_ASSERT_PRAGMA_END \
|
||||||
_Pragma("GCC diagnostic pop") \
|
_Pragma("GCC diagnostic pop")
|
||||||
|
|
||||||
// the same goes for clang in C99 mode, but we suppress a different warning
|
// the same goes for clang in C99 mode, but we suppress a different warning
|
||||||
#elif defined(__clang__) && __has_extension(c_static_assert)
|
#elif defined(__clang__) && __has_extension(c_static_assert)
|
||||||
@@ -90,11 +90,11 @@
|
|||||||
# undef STATIC_ASSERT_PRAGMA_START
|
# undef STATIC_ASSERT_PRAGMA_START
|
||||||
# define STATIC_ASSERT_PRAGMA_START \
|
# define STATIC_ASSERT_PRAGMA_START \
|
||||||
_Pragma("clang diagnostic push") \
|
_Pragma("clang diagnostic push") \
|
||||||
_Pragma("clang diagnostic ignored \"-Wc11-extensions\"") \
|
_Pragma("clang diagnostic ignored \"-Wc11-extensions\"")
|
||||||
|
|
||||||
# undef STATIC_ASSERT_PRAGMA_END
|
# undef STATIC_ASSERT_PRAGMA_END
|
||||||
# define STATIC_ASSERT_PRAGMA_END \
|
# define STATIC_ASSERT_PRAGMA_END \
|
||||||
_Pragma("clang diagnostic pop") \
|
_Pragma("clang diagnostic pop")
|
||||||
|
|
||||||
// TODO(aktau): verify that this works, don't have MSVC on hand.
|
// TODO(aktau): verify that this works, don't have MSVC on hand.
|
||||||
#elif _MSC_VER >= 1600
|
#elif _MSC_VER >= 1600
|
||||||
|
@@ -5958,11 +5958,9 @@ static int get_env_tv(char_u **arg, typval_T *rettv, int evaluate)
|
|||||||
#pragma function (floor)
|
#pragma function (floor)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// silence -Wmissing-prototypes for funcs.generated.h
|
PRAGMA_DIAG_PUSH_IGNORE_MISSING_PROTOTYPES
|
||||||
const VimLFuncDef *find_internal_func_gperf(register const char *str,
|
|
||||||
register size_t len);
|
|
||||||
|
|
||||||
# include "funcs.generated.h"
|
# include "funcs.generated.h"
|
||||||
|
PRAGMA_DIAG_POP
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -198,4 +198,25 @@
|
|||||||
# define IO_COUNT(x) (x)
|
# define IO_COUNT(x) (x)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
///
|
||||||
|
/// PRAGMA_DIAG_PUSH_IGNORE_MISSING_PROTOTYPES
|
||||||
|
///
|
||||||
|
#if defined(__clang__) && __clang__ == 1
|
||||||
|
# define PRAGMA_DIAG_PUSH_IGNORE_MISSING_PROTOTYPES \
|
||||||
|
_Pragma("clang diagnostic push") \
|
||||||
|
_Pragma("clang diagnostic ignored \"-Wmissing-prototypes\"")
|
||||||
|
# define PRAGMA_DIAG_POP \
|
||||||
|
_Pragma("clang diagnostic pop")
|
||||||
|
#elif defined(__GNUC__)
|
||||||
|
# define PRAGMA_DIAG_PUSH_IGNORE_MISSING_PROTOTYPES \
|
||||||
|
_Pragma("GCC diagnostic push") \
|
||||||
|
_Pragma("GCC diagnostic ignored \"-Wmissing-prototypes\"")
|
||||||
|
# define PRAGMA_DIAG_POP \
|
||||||
|
_Pragma("GCC diagnostic pop")
|
||||||
|
#else
|
||||||
|
# define PRAGMA_DIAG_PUSH_IGNORE_MISSING_PROTOTYPES
|
||||||
|
# define PRAGMA_DIAG_POP
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#endif // NVIM_MACROS_H
|
#endif // NVIM_MACROS_H
|
||||||
|
Reference in New Issue
Block a user