summaryrefslogtreecommitdiffstats
path: root/libcxxabi/src/Unwind/libunwind.cpp
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2015-02-11 05:20:53 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2015-02-11 05:20:53 +0000
commita9bd96e76ab5c29b7422fae648ec93d85a556e4b (patch)
treea82ed38ccacf28f8494460cdb3877d15415ca8ae /libcxxabi/src/Unwind/libunwind.cpp
parentb8a83fdf5c2f394fdc4832e1e63afaa0a2693e0c (diff)
downloadbcm5719-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/Unwind/libunwind.cpp')
-rw-r--r--libcxxabi/src/Unwind/libunwind.cpp3
1 files changed, 3 insertions, 0 deletions
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"
OpenPOWER on IntegriCloud