diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2015-02-11 05:20:53 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2015-02-11 05:20:53 +0000 |
commit | a9bd96e76ab5c29b7422fae648ec93d85a556e4b (patch) | |
tree | a82ed38ccacf28f8494460cdb3877d15415ca8ae /libcxxabi/src | |
parent | b8a83fdf5c2f394fdc4832e1e63afaa0a2693e0c (diff) | |
download | bcm5719-llvm-a9bd96e76ab5c29b7422fae648ec93d85a556e4b.tar.gz bcm5719-llvm-a9bd96e76ab5c29b7422fae648ec93d85a556e4b.zip |
unwind: tweak inclusion ordering to work around GCC
This is a slightly convoluted workaround. GCC does not support the
__has_feature extension of clang, and this results in some issues with
static_asserts. config.h defines static_assert as a macro with a C-specific
trickery. This then propagates into the C++ headers included after config.h,
which are used with C++11 mode, enabling constexpr constructors. The macro'ed
static_assert does not get treated as the static_assert builtin, and will cause
an error due to a non-empty constexpr constructor. Tweaking the include order
permits the use of libc++ headers to build libunwind with GCC on Linux.
llvm-svn: 228809
Diffstat (limited to 'libcxxabi/src')
-rw-r--r-- | libcxxabi/src/Unwind/Unwind-EHABI.cpp | 2 | ||||
-rw-r--r-- | libcxxabi/src/Unwind/libunwind.cpp | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/libcxxabi/src/Unwind/Unwind-EHABI.cpp b/libcxxabi/src/Unwind/Unwind-EHABI.cpp index f740674c67c..b296ff1b0a2 100644 --- a/libcxxabi/src/Unwind/Unwind-EHABI.cpp +++ b/libcxxabi/src/Unwind/Unwind-EHABI.cpp @@ -20,6 +20,8 @@ #include <stdlib.h> #include <string.h> +#include <type_traits> + #include "config.h" #include "libunwind.h" #include "libunwind_ext.h" diff --git a/libcxxabi/src/Unwind/libunwind.cpp b/libcxxabi/src/Unwind/libunwind.cpp index d43e5d2e48f..f497500da53 100644 --- a/libcxxabi/src/Unwind/libunwind.cpp +++ b/libcxxabi/src/Unwind/libunwind.cpp @@ -16,6 +16,9 @@ #include <cstdlib> // getenv #endif #include <new> +#include <tuple> +#include <memory> +#include <vector> #include "libunwind_ext.h" #include "config.h" |