diff options
author | Eric Fiselier <eric@efcs.ca> | 2015-05-20 03:15:01 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2015-05-20 03:15:01 +0000 |
commit | 1f294fd934c17ec9836cbde8293d3c51974cdb05 (patch) | |
tree | 1b04d601869e2b6ac114d3f79c5b3f9ce7abea16 /libcxx/src | |
parent | b0c5df902ef544f55addeeee1245e27934ce6e98 (diff) | |
download | bcm5719-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.cpp | 2 |
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) |