summaryrefslogtreecommitdiffstats
path: root/libunwind/include
diff options
context:
space:
mode:
authorLogan Chien <tzuhsiang.chien@gmail.com>2015-07-19 15:23:10 +0000
committerLogan Chien <tzuhsiang.chien@gmail.com>2015-07-19 15:23:10 +0000
commit5191fe9509fab84b7681c7ef6f4eceef877d5339 (patch)
tree80bafbd2bc8a07ea644c46f9121245d5f9fe38ea /libunwind/include
parent611f614ee18eb31bf6ba2d0dc61aeb9f0d510bf7 (diff)
downloadbcm5719-llvm-5191fe9509fab84b7681c7ef6f4eceef877d5339.tar.gz
bcm5719-llvm-5191fe9509fab84b7681c7ef6f4eceef877d5339.zip
libunwind: Introduce __libunwind_config.h.
Introduce __libunwind_config.h to avoid cross repository circular dependency with libcxxabi. llvm-svn: 242642
Diffstat (limited to 'libunwind/include')
-rw-r--r--libunwind/include/__libunwind_config.h20
-rw-r--r--libunwind/include/libunwind.h6
-rw-r--r--libunwind/include/unwind.h10
3 files changed, 28 insertions, 8 deletions
diff --git a/libunwind/include/__libunwind_config.h b/libunwind/include/__libunwind_config.h
new file mode 100644
index 00000000000..63393d3058e
--- /dev/null
+++ b/libunwind/include/__libunwind_config.h
@@ -0,0 +1,20 @@
+//===------------------------- __libunwind_config.h -----------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef ____LIBUNWIND_CONFIG_H__
+#define ____LIBUNWIND_CONFIG_H__
+
+#if defined(__arm__) && !defined(__USING_SJLJ_EXCEPTIONS__) && \
+ !defined(__ARM_DWARF_EH__)
+#define _LIBUNWIND_ARM_EHABI 1
+#else
+#define _LIBUNWIND_ARM_EHABI 0
+#endif
+
+#endif // ____LIBUNWIND_CONFIG_H__
diff --git a/libunwind/include/libunwind.h b/libunwind/include/libunwind.h
index e2396e4ab7c..4a75a7ba175 100644
--- a/libunwind/include/libunwind.h
+++ b/libunwind/include/libunwind.h
@@ -14,11 +14,11 @@
#ifndef __LIBUNWIND__
#define __LIBUNWIND__
+#include <__libunwind_config.h>
+
#include <stdint.h>
#include <stddef.h>
-#include <__cxxabi_config.h>
-
#ifdef __APPLE__
#include <Availability.h>
#ifdef __arm__
@@ -58,7 +58,7 @@ typedef struct unw_cursor_t unw_cursor_t;
typedef struct unw_addr_space *unw_addr_space_t;
typedef int unw_regnum_t;
-#if LIBCXXABI_ARM_EHABI
+#if _LIBUNWIND_ARM_EHABI
typedef uint32_t unw_word_t;
typedef uint64_t unw_fpreg_t;
#else
diff --git a/libunwind/include/unwind.h b/libunwind/include/unwind.h
index 86001bbb563..31fb871076c 100644
--- a/libunwind/include/unwind.h
+++ b/libunwind/include/unwind.h
@@ -14,6 +14,8 @@
#ifndef __UNWIND_H__
#define __UNWIND_H__
+#include <__libunwind_config.h>
+
#include <stdint.h>
#include <stddef.h>
@@ -23,8 +25,6 @@
#define LIBUNWIND_UNAVAIL
#endif
-#include <__cxxabi_config.h>
-
typedef enum {
_URC_NO_REASON = 0,
_URC_OK = 0,
@@ -36,7 +36,7 @@ typedef enum {
_URC_HANDLER_FOUND = 6,
_URC_INSTALL_CONTEXT = 7,
_URC_CONTINUE_UNWIND = 8,
-#if LIBCXXABI_ARM_EHABI
+#if _LIBUNWIND_ARM_EHABI
_URC_FAILURE = 9
#endif
} _Unwind_Reason_Code;
@@ -51,7 +51,7 @@ typedef enum {
typedef struct _Unwind_Context _Unwind_Context; // opaque
-#if LIBCXXABI_ARM_EHABI
+#if _LIBUNWIND_ARM_EHABI
typedef uint32_t _Unwind_State;
static const _Unwind_State _US_VIRTUAL_UNWIND_FRAME = 0;
@@ -164,7 +164,7 @@ extern void _Unwind_Resume(_Unwind_Exception *exception_object);
#endif
extern void _Unwind_DeleteException(_Unwind_Exception *exception_object);
-#if LIBCXXABI_ARM_EHABI
+#if _LIBUNWIND_ARM_EHABI
typedef enum {
_UVRSC_CORE = 0, /* integer register */
_UVRSC_VFP = 1, /* vfp */
OpenPOWER on IntegriCloud