summaryrefslogtreecommitdiffstats
path: root/libcxx/src
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2015-05-20 03:15:01 +0000
committerEric Fiselier <eric@efcs.ca>2015-05-20 03:15:01 +0000
commit1f294fd934c17ec9836cbde8293d3c51974cdb05 (patch)
tree1b04d601869e2b6ac114d3f79c5b3f9ce7abea16 /libcxx/src
parentb0c5df902ef544f55addeeee1245e27934ce6e98 (diff)
downloadbcm5719-llvm-1f294fd934c17ec9836cbde8293d3c51974cdb05.tar.gz
bcm5719-llvm-1f294fd934c17ec9836cbde8293d3c51974cdb05.zip
Fix building and testing libc++ with GCC.
The changes in src/exception.cpp and cmake/Modules/HandleLibCXXABI.cmake fix a bug when building libc++ with GCC. Because GCC does not support __has_include we need to explicitly tell it that we are building against libc++abi via the preprocessor definition `LIBCXX_BUILDING_LIBCXXABI`. The changes in include/ratio are to work around CWG defect 1712 (constexpr variable template declarations). GCC 4.8 and before has not adopted the resolution to this defect. The changes in include/exception work around an issue where is_final is used without it being defined in type_traits. llvm-svn: 237767
Diffstat (limited to 'libcxx/src')
-rw-r--r--libcxx/src/exception.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/libcxx/src/exception.cpp b/libcxx/src/exception.cpp
index 07983cea4e2..98b7b441b52 100644
--- a/libcxx/src/exception.cpp
+++ b/libcxx/src/exception.cpp
@@ -29,7 +29,7 @@
#define __terminate_handler __cxxabiapple::__cxa_terminate_handler
#define __unexpected_handler __cxxabiapple::__cxa_unexpected_handler
#endif // _LIBCPPABI_VERSION
-#elif defined(LIBCXXRT) || __has_include(<cxxabi.h>)
+#elif defined(LIBCXXRT) || defined(LIBCXX_BUILDING_LIBCXXABI) || __has_include(<cxxabi.h>)
#include <cxxabi.h>
using namespace __cxxabiv1;
#if defined(LIBCXXRT) || defined(_LIBCPPABI_VERSION)
OpenPOWER on IntegriCloud