summaryrefslogtreecommitdiffstats
path: root/libcxxabi/src
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
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')
-rw-r--r--libcxxabi/src/Unwind/Unwind-EHABI.cpp2
-rw-r--r--libcxxabi/src/Unwind/libunwind.cpp3
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"
OpenPOWER on IntegriCloud