svn commit: r232969 - in vendor/libc++/dist: include src
David Chisnall
theraven at FreeBSD.org
Wed Mar 14 14:33:37 UTC 2012
Author: theraven
Date: Wed Mar 14 14:33:36 2012
New Revision: 232969
URL: http://svn.freebsd.org/changeset/base/232969
Log:
New version of libc++ with some bug fixes.
Approved by: dim (mentor)
Modified:
vendor/libc++/dist/include/__config
vendor/libc++/dist/include/cstdlib
vendor/libc++/dist/src/exception.cpp
vendor/libc++/dist/src/new.cpp
Modified: vendor/libc++/dist/include/__config
==============================================================================
--- vendor/libc++/dist/include/__config Wed Mar 14 14:14:16 2012 (r232968)
+++ vendor/libc++/dist/include/__config Wed Mar 14 14:33:36 2012 (r232969)
@@ -245,6 +245,10 @@ typedef __char32_t char32_t;
#define _LIBCPP_HAS_NO_CONSTEXPR
#endif
+#if __FreeBSD__
+#define _LIBCPP_HAS_QUICK_EXIT
+#endif
+
#if (__has_feature(cxx_noexcept))
# define _NOEXCEPT noexcept
# define _NOEXCEPT_(x) noexcept(x)
Modified: vendor/libc++/dist/include/cstdlib
==============================================================================
--- vendor/libc++/dist/include/cstdlib Wed Mar 14 14:14:16 2012 (r232968)
+++ vendor/libc++/dist/include/cstdlib Wed Mar 14 14:33:36 2012 (r232969)
@@ -131,6 +131,10 @@ using ::mbtowc;
using ::wctomb;
using ::mbstowcs;
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
#if !defined(_MSC_VER) && !defined(__sun__)
Modified: vendor/libc++/dist/src/exception.cpp
==============================================================================
--- vendor/libc++/dist/src/exception.cpp Wed Mar 14 14:14:16 2012 (r232968)
+++ vendor/libc++/dist/src/exception.cpp Wed Mar 14 14:33:36 2012 (r232969)
@@ -114,13 +114,17 @@ exception::~exception() _NOEXCEPT
{
}
-bad_exception::~bad_exception() _NOEXCEPT
+const char* exception::what() const _NOEXCEPT
{
+ return "std::exception";
}
-const char* exception::what() const _NOEXCEPT
+#endif // _LIBCPPABI_VERSION
+#endif //LIBCXXRT
+#ifndef _LIBCPPABI_VERSION
+
+bad_exception::~bad_exception() _NOEXCEPT
{
- return "std::exception";
}
const char* bad_exception::what() const _NOEXCEPT
@@ -128,8 +132,8 @@ const char* bad_exception::what() const
return "std::bad_exception";
}
-#endif // _LIBCPPABI_VERSION
-#endif //LIBCXXRT
+#endif
+
exception_ptr::~exception_ptr() _NOEXCEPT
{
Modified: vendor/libc++/dist/src/new.cpp
==============================================================================
--- vendor/libc++/dist/src/new.cpp Wed Mar 14 14:14:16 2012 (r232968)
+++ vendor/libc++/dist/src/new.cpp Wed Mar 14 14:33:36 2012 (r232969)
@@ -24,8 +24,6 @@
static std::new_handler __new_handler;
#endif
-#if !defined (LIBCXXRT) // && !defined(_LIBCPPABI_VERSION)
-
// Implement all new and delete operators as weak definitions
// in this shared library, so that they can be overriden by programs
// that define non-weak copies of the functions.
@@ -134,8 +132,6 @@ operator delete[] (void* ptr, const std:
::operator delete[](ptr);
}
-#endif // !_LIBCPPABI_VERSION && !LIBCXXRT
-
namespace std
{
@@ -171,6 +167,8 @@ bad_alloc::what() const _NOEXCEPT
return "std::bad_alloc";
}
+#endif //LIBCXXRT
+
bad_array_new_length::bad_array_new_length() _NOEXCEPT
{
}
@@ -186,7 +184,6 @@ bad_array_new_length::what() const _NOEX
}
#endif
-#endif //LIBCXXRT
void
__throw_bad_alloc()
More information about the svn-src-all
mailing list