diff options
author | Dan Albert <danalbert@google.com> | 2015-02-05 23:55:15 +0000 |
---|---|---|
committer | Dan Albert <danalbert@google.com> | 2015-02-05 23:55:15 +0000 |
commit | 8414c5a5176832964a5c9789344cf39714846841 (patch) | |
tree | a412bdf45e137b9bfa8735f6bfd3d43fc2617dbf /include | |
parent | da5a6b1de034870097d881d8f7ab5b77e2ed4b7f (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.h | 20 | ||||
-rw-r--r-- | include/cxxabi.h | 10 | ||||
-rw-r--r-- | include/libunwind.h | 8 | ||||
-rw-r--r-- | include/unwind.h | 10 |
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; |