mirror of
https://github.com/neovim/neovim.git
synced 2025-10-07 02:16:31 +00:00
Only use __has_include when it is defined
Per GCC's documentation: > The __has_include operator by itself, without any operand or parentheses, acts as a predefined macro so that support for it can be tested in portable code. Thus, the recommended use of the operator is as follows: > > #if defined __has_include > # if __has_include (<stdatomic.h>) > # include <stdatomic.h> > # endif > #endif > > The first ‘#if’ test succeeds only when the operator is supported by the version of GCC (or another compiler) being used. Only when that test succeeds is it valid to use __has_include as a preprocessor operator.
This commit is contained in:
@@ -152,6 +152,12 @@
|
||||
#define STR_(x) #x
|
||||
#define STR(x) STR_(x)
|
||||
|
||||
#ifndef __has_include
|
||||
# define NVIM_HAS_INCLUDE(x) 0
|
||||
#else
|
||||
# define NVIM_HAS_INCLUDE __has_include
|
||||
#endif
|
||||
|
||||
#ifndef __has_attribute
|
||||
# define NVIM_HAS_ATTRIBUTE(x) 0
|
||||
#elif defined(__clang__) && __clang__ == 1 \
|
||||
|
Reference in New Issue
Block a user