summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDan Albert <danalbert@google.com>2015-02-05 23:55:15 +0000
committerDan Albert <danalbert@google.com>2015-02-05 23:55:15 +0000
commit8414c5a5176832964a5c9789344cf39714846841 (patch)
treea412bdf45e137b9bfa8735f6bfd3d43fc2617dbf /include
parentda5a6b1de034870097d881d8f7ab5b77e2ed4b7f (diff)
[libcxxabi] Fix -Werror build for 32-bit non-ARM.
Summary: The inclusion of Unwind-EHABI.h was insufficiently guarded (LIBCXXABI_ARM_EHABI was beign checked without ever being defined). Move the check into the header file itself, add the check to the source file, and clean up the existing checks. LIBCXXABI_ARM_EHABI didn't have a canonical defintion; it was duplicated across cxxabi.h, libunwind.h, and unwind.h. Move the definition into __cxxabi_config.h and clean up the old cruft (note: we will have to ship this header). There are also a few drive-by formatting/whitespace cleanups. Reviewers: jroelofs, thakis, compnerd Reviewed By: compnerd Subscribers: compnerd, aemerson, cfe-commits Differential Revision: http://reviews.llvm.org/D7419 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@228363 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/__cxxabi_config.h20
-rw-r--r--include/cxxabi.h10
-rw-r--r--include/libunwind.h8
-rw-r--r--include/unwind.h10
4 files changed, 24 insertions, 24 deletions
diff --git a/include/__cxxabi_config.h b/include/__cxxabi_config.h
new file mode 100644
index 0000000..c040a06
--- /dev/null
+++ b/include/__cxxabi_config.h
@@ -0,0 +1,20 @@
+//===-------------------------- __cxxabi_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 ____CXXABI_CONFIG_H
+#define ____CXXABI_CONFIG_H
+
+#if defined(__arm__) && !defined(__USING_SJLJ_EXCEPTIONS__) && \
+ !defined(__ARM_DWARF_EH__)
+#define LIBCXXABI_ARM_EHABI 1
+#else
+#define LIBCXXABI_ARM_EHABI 0
+#endif
+
+#endif // ____CXXABI_CONFIG_H
diff --git a/include/cxxabi.h b/include/cxxabi.h
index ae75f86..767acfe 100644
--- a/include/cxxabi.h
+++ b/include/cxxabi.h
@@ -18,17 +18,11 @@
#include <stddef.h>
#include <stdint.h>
+#include <__cxxabi_config.h>
+
#define _LIBCPPABI_VERSION 1001
#define LIBCXXABI_NORETURN __attribute__((noreturn))
-// FIXME: This is also in unwind.h and libunwind.h, can we consolidate?
-#if !defined(__USING_SJLJ_EXCEPTIONS__) && defined(__arm__) && \
- !defined(__ARM_DWARF_EH__) && !defined(__APPLE__)
-#define LIBCXXABI_ARM_EHABI 1
-#else
-#define LIBCXXABI_ARM_EHABI 0
-#endif
-
#ifdef __cplusplus
namespace std {
diff --git a/include/libunwind.h b/include/libunwind.h
index 9c69551..b0f6979 100644
--- a/include/libunwind.h
+++ b/include/libunwind.h
@@ -17,13 +17,7 @@
#include <stdint.h>
#include <stddef.h>
-// FIXME: This is also in unwind.h and cxxabi.h, can we consolidate?
-#if !defined(__USING_SJLJ_EXCEPTIONS__) && defined(__arm__) && \
- !defined(__ARM_DWARF_EH__) && !defined(__APPLE__)
-#define LIBCXXABI_ARM_EHABI 1
-#else
-#define LIBCXXABI_ARM_EHABI 0
-#endif
+#include <__cxxabi_config.h>
#ifdef __APPLE__
#include <Availability.h>
diff --git a/include/unwind.h b/include/unwind.h
index 6a265cc..3d889cf 100644
--- a/include/unwind.h
+++ b/include/unwind.h
@@ -23,13 +23,7 @@
#define LIBUNWIND_UNAVAIL
#endif
-// FIXME: This is also in cxxabi.h and libunwind.h, can we consolidate?
-#if !defined(__USING_SJLJ_EXCEPTIONS__) && defined(__arm__) && \
- !defined(__ARM_DWARF_EH__) && !defined(__APPLE__)
-#define LIBCXXABI_ARM_EHABI 1
-#else
-#define LIBCXXABI_ARM_EHABI 0
-#endif
+#include <__cxxabi_config.h>
typedef enum {
_URC_NO_REASON = 0,
@@ -208,9 +202,7 @@ extern _Unwind_VRS_Result
_Unwind_VRS_Pop(_Unwind_Context *context, _Unwind_VRS_RegClass regclass,
uint32_t discriminator,
_Unwind_VRS_DataRepresentation representation);
-#endif
-#if LIBCXXABI_ARM_EHABI
static inline uintptr_t _Unwind_GetGR(struct _Unwind_Context* context,
int index) {
uintptr_t value = 0;