New version of libc++ with some bug fixes.
Approved by: dim (mentor)
This commit is contained in:
parent
362d815b81
commit
acbeab898d
|
@ -245,6 +245,10 @@ typedef __char32_t char32_t;
|
||||||
#define _LIBCPP_HAS_NO_CONSTEXPR
|
#define _LIBCPP_HAS_NO_CONSTEXPR
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if __FreeBSD__
|
||||||
|
#define _LIBCPP_HAS_QUICK_EXIT
|
||||||
|
#endif
|
||||||
|
|
||||||
#if (__has_feature(cxx_noexcept))
|
#if (__has_feature(cxx_noexcept))
|
||||||
# define _NOEXCEPT noexcept
|
# define _NOEXCEPT noexcept
|
||||||
# define _NOEXCEPT_(x) noexcept(x)
|
# define _NOEXCEPT_(x) noexcept(x)
|
||||||
|
|
|
@ -131,6 +131,10 @@ using ::mbtowc;
|
||||||
using ::wctomb;
|
using ::wctomb;
|
||||||
using ::mbstowcs;
|
using ::mbstowcs;
|
||||||
using ::wcstombs;
|
using ::wcstombs;
|
||||||
|
#ifdef _LIBCPP_HAS_QUICK_EXIT
|
||||||
|
using ::at_quick_exit;
|
||||||
|
using ::quick_exit;
|
||||||
|
#endif
|
||||||
|
|
||||||
// MSVC already has the correct prototype in <stdlib.h.h> #ifdef __cplusplus
|
// MSVC already has the correct prototype in <stdlib.h.h> #ifdef __cplusplus
|
||||||
#if !defined(_MSC_VER) && !defined(__sun__)
|
#if !defined(_MSC_VER) && !defined(__sun__)
|
||||||
|
|
|
@ -114,22 +114,26 @@ exception::~exception() _NOEXCEPT
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
bad_exception::~bad_exception() _NOEXCEPT
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
const char* exception::what() const _NOEXCEPT
|
const char* exception::what() const _NOEXCEPT
|
||||||
{
|
{
|
||||||
return "std::exception";
|
return "std::exception";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // _LIBCPPABI_VERSION
|
||||||
|
#endif //LIBCXXRT
|
||||||
|
#ifndef _LIBCPPABI_VERSION
|
||||||
|
|
||||||
|
bad_exception::~bad_exception() _NOEXCEPT
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
const char* bad_exception::what() const _NOEXCEPT
|
const char* bad_exception::what() const _NOEXCEPT
|
||||||
{
|
{
|
||||||
return "std::bad_exception";
|
return "std::bad_exception";
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // _LIBCPPABI_VERSION
|
#endif
|
||||||
#endif //LIBCXXRT
|
|
||||||
|
|
||||||
exception_ptr::~exception_ptr() _NOEXCEPT
|
exception_ptr::~exception_ptr() _NOEXCEPT
|
||||||
{
|
{
|
||||||
|
|
|
@ -24,8 +24,6 @@
|
||||||
static std::new_handler __new_handler;
|
static std::new_handler __new_handler;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined (LIBCXXRT) // && !defined(_LIBCPPABI_VERSION)
|
|
||||||
|
|
||||||
// Implement all new and delete operators as weak definitions
|
// Implement all new and delete operators as weak definitions
|
||||||
// in this shared library, so that they can be overriden by programs
|
// in this shared library, so that they can be overriden by programs
|
||||||
// that define non-weak copies of the functions.
|
// that define non-weak copies of the functions.
|
||||||
|
@ -134,8 +132,6 @@ operator delete[] (void* ptr, const std::nothrow_t&) _NOEXCEPT
|
||||||
::operator delete[](ptr);
|
::operator delete[](ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // !_LIBCPPABI_VERSION && !LIBCXXRT
|
|
||||||
|
|
||||||
namespace std
|
namespace std
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -171,6 +167,8 @@ bad_alloc::what() const _NOEXCEPT
|
||||||
return "std::bad_alloc";
|
return "std::bad_alloc";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif //LIBCXXRT
|
||||||
|
|
||||||
bad_array_new_length::bad_array_new_length() _NOEXCEPT
|
bad_array_new_length::bad_array_new_length() _NOEXCEPT
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -186,7 +184,6 @@ bad_array_new_length::what() const _NOEXCEPT
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#endif //LIBCXXRT
|
|
||||||
|
|
||||||
void
|
void
|
||||||
__throw_bad_alloc()
|
__throw_bad_alloc()
|
||||||
|
|
Loading…
Reference in New Issue