Work around __has_attribute bug in clang 3.4
* src/conf_post.h (HAS_ATTRIBUTE): * src/emacs-module.h.in (EMACS_ATTRIBUTE_NONNULL): Port to clang 3.4 and earlier.
This commit is contained in:
parent
a900e641fa
commit
b99ec5d5b1
2 changed files with 6 additions and 2 deletions
|
@ -71,7 +71,9 @@ typedef bool bool_bf;
|
|||
It is used only on arguments like cleanup that are handled here.
|
||||
This macro should be used only in #if expressions, as Oracle
|
||||
Studio 12.5's __has_attribute does not work in plain code. */
|
||||
#ifdef __has_attribute
|
||||
#if (defined __has_attribute \
|
||||
&& (!defined __clang_minor__ \
|
||||
|| 3 < __clang_major__ + (5 <= __clang_minor__)))
|
||||
# define HAS_ATTRIBUTE(a) __has_attribute (__##a##__)
|
||||
#else
|
||||
# define HAS_ATTRIBUTE(a) HAS_ATTR_##a
|
||||
|
|
|
@ -51,7 +51,9 @@ information how to write modules and use this header file.
|
|||
#if 3 < __GNUC__ + (3 <= __GNUC_MINOR__)
|
||||
# define EMACS_ATTRIBUTE_NONNULL(...) \
|
||||
__attribute__ ((__nonnull__ (__VA_ARGS__)))
|
||||
#elif defined __has_attribute
|
||||
#elif (defined __has_attribute \
|
||||
&& (!defined __clang_minor__ \
|
||||
|| 3 < __clang_major__ + (5 <= __clang_minor__)))
|
||||
# if __has_attribute (__nonnull__)
|
||||
# define EMACS_ATTRIBUTE_NONNULL(...) \
|
||||
__attribute__ ((__nonnull__ (__VA_ARGS__)))
|
||||
|
|
Loading…
Add table
Reference in a new issue