diff options
author | Azat Khuzhin <azat@libevent.org> | 2019-06-02 20:20:02 +0300 |
---|---|---|
committer | Azat Khuzhin <azat@libevent.org> | 2019-06-02 21:47:43 +0300 |
commit | 7d569b0fafe76e9036695ccc9d22d2195c214bce (patch) | |
tree | 8c2a86857bdf5493dc5098de442ba222e8bf1ded | |
parent | 891dd1880fed8c5e1e98f122daeb1ae8414f6b1c (diff) | |
download | libevent-7d569b0fafe76e9036695ccc9d22d2195c214bce.tar.gz |
Fix detection of the __has_attribute() for apple clang [ci skip]
Fixes build on the next osx env:
- Mac OS 10.9/clang 600
- Mac OS 10.8/clang 500
Refs: https://github.com/libevent/libevent/issues/447#issuecomment-497908488
-rw-r--r-- | util-internal.h | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/util-internal.h b/util-internal.h index b727bf1f..39576c71 100644 --- a/util-internal.h +++ b/util-internal.h @@ -52,16 +52,22 @@ extern "C" { /* __has_attribute() wrapper */ #ifdef __has_attribute -#define EVUTIL_HAS_ATTRIBUTE __has_attribute +# define EVUTIL_HAS_ATTRIBUTE __has_attribute #endif /** clang 3 __has_attribute misbehaves in some versions */ -#if defined(__clang__) && \ - __clang__ == 1 && __clang_major__ == 3 && \ - (__clang_minor__ >= 2 && __clang_minor__ <= 5) -#undef EVUTIL_HAS_ATTRIBUTE -#endif +#if defined(__clang__) && __clang__ == 1 +# if defined(__apple_build_version__) +# if __clang_major__ <= 6 +# undef EVUTIL_HAS_ATTRIBUTE +# endif +# else /* !__apple_build_version__ */ +# if __clang_major__ == 3 && __clang_minor__ >= 2 && __clang_minor__ <= 5 +# undef EVUTIL_HAS_ATTRIBUTE +# endif +# endif /* __apple_build_version__ */ +#endif /*\ defined(__clang__) && __clang__ == 1 */ #ifndef EVUTIL_HAS_ATTRIBUTE -#define EVUTIL_HAS_ATTRIBUTE(x) 0 +# define EVUTIL_HAS_ATTRIBUTE(x) 0 #endif /* If we need magic to say "inline", get it for free internally. */ |