summaryrefslogtreecommitdiffstats
path: root/libunwind/include/libunwind.h
diff options
context:
space:
mode:
authorMarshall Clow <mclow.lists@gmail.com>2016-11-02 17:56:05 +0000
committerMarshall Clow <mclow.lists@gmail.com>2016-11-02 17:56:05 +0000
commitcee23446e1c50ef7c6d6906c9146460a198803fa (patch)
tree6b6fc77d0363b19d5ef3f345e4c310fa629d17b3 /libunwind/include/libunwind.h
parente8bb4bcafc90d89f6c1aa9ebdc4d13ebb09c10ea (diff)
downloadbcm5719-llvm-cee23446e1c50ef7c6d6906c9146460a198803fa.tar.gz
bcm5719-llvm-cee23446e1c50ef7c6d6906c9146460a198803fa.zip
Add support for old versions of MacOS to libunwind. Fixes PR22203. Thanks to Jeremy for the bug report and the patch.
llvm-svn: 285845
Diffstat (limited to 'libunwind/include/libunwind.h')
-rw-r--r--libunwind/include/libunwind.h22
1 files changed, 18 insertions, 4 deletions
diff --git a/libunwind/include/libunwind.h b/libunwind/include/libunwind.h
index b52fe9da002..9d72d48d206 100644
--- a/libunwind/include/libunwind.h
+++ b/libunwind/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
OpenPOWER on IntegriCloud