mirror of
https://github.com/llvm-mirror/libcxx.git
synced 2025-10-23 18:38:30 +08:00
Allow using libsupc++ with LIBCXX_ENABLE_STATIC_ABI_LIBRARY. Patch from Michael Daniels.
The code cannot currently link when using libsupc++ with the LIBCXX_ENABLE_STATIC_ABI_LIBRARY option. This change ifdef's out the the destructor and 'what' function for bad_array_length and bad_array_new_length when GLIBCXX is defined. The constructors that are left in are the only functions not being provided by libsupc++ itself, and follows the same pattern that was used to ifdef bad_alloc. Testing was done on a Linux x86_64 host using GCC 5.4 and libc++ from ToT. I see no change to the test results when using libsup++ or libstdc++ without LIBCXX_ENABLE_STATIC_ABI_LIBRARY. When using libsupc++ with LIBCXX_ENABLE_STATIC_ABI_LIBRARY it will now build and test results are the same as those without the option specified. Reviewed as https://reviews.llvm.org/D26186 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@287388 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
22
src/new.cpp
22
src/new.cpp
@@ -316,6 +316,8 @@ bad_array_new_length::bad_array_new_length() _NOEXCEPT
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef __GLIBCXX__
|
||||||
|
|
||||||
bad_array_new_length::~bad_array_new_length() _NOEXCEPT
|
bad_array_new_length::~bad_array_new_length() _NOEXCEPT
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@@ -326,21 +328,27 @@ bad_array_new_length::what() const _NOEXCEPT
|
|||||||
return "bad_array_new_length";
|
return "bad_array_new_length";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // !__GLIBCXX__
|
||||||
|
|
||||||
#endif //LIBCXXRT
|
#endif //LIBCXXRT
|
||||||
|
|
||||||
|
bad_array_length::bad_array_length() _NOEXCEPT
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifndef __GLIBCXX__
|
||||||
|
|
||||||
|
bad_array_length::~bad_array_length() _NOEXCEPT
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
const char*
|
const char*
|
||||||
bad_array_length::what() const _NOEXCEPT
|
bad_array_length::what() const _NOEXCEPT
|
||||||
{
|
{
|
||||||
return "bad_array_length";
|
return "bad_array_length";
|
||||||
}
|
}
|
||||||
|
|
||||||
bad_array_length::bad_array_length() _NOEXCEPT
|
#endif // !__GLIBCXX__
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
bad_array_length::~bad_array_length() _NOEXCEPT
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif // _LIBCPPABI_VERSION
|
#endif // _LIBCPPABI_VERSION
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user