diff options
author | Marshall Clow <mclow.lists@gmail.com> | 2016-11-02 17:56:05 +0000 |
---|---|---|
committer | Marshall Clow <mclow.lists@gmail.com> | 2016-11-02 17:56:05 +0000 |
commit | 0eea5e270b455f79c59df69b8fb38f68399314a2 (patch) | |
tree | 8f18fb6c29e7a562c3626d6d32fd1e754ec97019 /include | |
parent | 0f7ffb29f3581df52289145624e62195953a7b73 (diff) | |
download | libunwind_llvm-0eea5e270b455f79c59df69b8fb38f68399314a2.tar.gz |
Add support for old versions of MacOS to libunwind. Fixes PR22203. Thanks to Jeremy for the bug report and the patch.
git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@285845 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/libunwind.h | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/include/libunwind.h b/include/libunwind.h index b52fe9d..9d72d48 100644 --- a/include/libunwind.h +++ b/include/libunwind.h @@ -20,12 +20,26 @@ #include <stddef.h> #ifdef __APPLE__ - #include <Availability.h> - #ifdef __arm__ - #define LIBUNWIND_AVAIL __attribute__((unavailable)) + #if __clang__ + #if __has_include(<Availability.h>) + #include <Availability.h> + #endif + #elif __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1050 + #include <Availability.h> + #endif + + #ifdef __arm__ + #define LIBUNWIND_AVAIL __attribute__((unavailable)) + #elif defined(__OSX_AVAILABLE_STARTING) + #define LIBUNWIND_AVAIL __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_5_0) + #else + #include <AvailabilityMacros.h> + #ifdef AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER + #define LIBUNWIND_AVAIL AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER #else - #define LIBUNWIND_AVAIL __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_5_0) + #define LIBUNWIND_AVAIL __attribute__((unavailable)) #endif + #endif #else #define LIBUNWIND_AVAIL #endif |