From owner-svn-src-vendor@FreeBSD.ORG Wed Mar 14 14:33:37 2012 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8ABD3106566C; Wed, 14 Mar 2012 14:33:37 +0000 (UTC) (envelope-from theraven@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 75A6B8FC08; Wed, 14 Mar 2012 14:33:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2EEXbRo017656; Wed, 14 Mar 2012 14:33:37 GMT (envelope-from theraven@svn.freebsd.org) Received: (from theraven@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2EEXbZp017651; Wed, 14 Mar 2012 14:33:37 GMT (envelope-from theraven@svn.freebsd.org) Message-Id: <201203141433.q2EEXbZp017651@svn.freebsd.org> From: David Chisnall Date: Wed, 14 Mar 2012 14:33:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r232969 - in vendor/libc++/dist: include src X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Mar 2012 14:33:37 -0000 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 #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()