Compare commits

...

7 Commits

Author SHA1 Message Date
Dave Zarzycki
a652bf5994 "Tagging libcpp-27 from https://llvm.org/svn/llvm-project/libcxx/branches/apple"
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/tags/libcpp-27@137211 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-10 14:30:31 +00:00
Howard Hinnant
9b3829cb5b Install headers at usr/clang-ide/lib/c++
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/branches/apple@137152 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-09 21:34:49 +00:00
Howard Hinnant
da9c0f1fba Fix PR10507. http://llvm.org/bugs/show_bug.cgi?id=10507
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/branches/apple@136575 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-30 17:40:17 +00:00
Howard Hinnant
a9ad2ca8bd Synch up with recent changes in trunk
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/branches/apple@136574 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-30 17:35:20 +00:00
Howard Hinnant
8ffa5d58e0 Correct misspelling: _LIBCPP_APPLE_STABLE_ABI -> _LIBCPP_STABLE_APPLE_ABI
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/branches/apple@136570 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-30 16:37:03 +00:00
Howard Hinnant
791e11cf33 Fix radar 9866843
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/branches/apple@136569 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-30 16:35:55 +00:00
Howard Hinnant
4d933b2b44 Apple branch created
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/branches/apple@136568 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-30 16:28:35 +00:00
9 changed files with 53 additions and 17 deletions

View File

@ -29,13 +29,20 @@ clean::
installhdrs::
mkdir -p $(DSTROOT)/$(INSTALL_PREFIX)/usr/include/c++/v1/ext
rsync -r --exclude=".*" $(SRCDIRS)/include/* $(DSTROOT)/$(INSTALL_PREFIX)/usr/include/c++/v1/
chown -R root:wheel $(DSTROOT)/$(INSTALL_PREFIX)/usr/include
chmod 755 $(DSTROOT)/$(INSTALL_PREFIX)/usr/include/c++/v1
chmod 644 $(DSTROOT)/$(INSTALL_PREFIX)/usr/include/c++/v1/*
chmod 755 $(DSTROOT)/$(INSTALL_PREFIX)/usr/include/c++/v1/ext
chmod 644 $(DSTROOT)/$(INSTALL_PREFIX)/usr/include/c++/v1/ext/*
mkdir -p $(DSTROOT)/$(INSTALL_PREFIX)/usr/lib/c++/v1/ext
mkdir -p $(DSTROOT)/$(INSTALL_PREFIX)/usr/clang-ide/lib/c++/v1/ext
rsync -r --exclude=".*" $(SRCDIRS)/include/* $(DSTROOT)/$(INSTALL_PREFIX)/usr/lib/c++/v1/
rsync -r --exclude=".*" $(SRCDIRS)/include/* $(DSTROOT)/$(INSTALL_PREFIX)/usr/clang-ide/lib/c++/v1/
chown -R root:wheel $(DSTROOT)/$(INSTALL_PREFIX)/usr/lib/c++
chown -R root:wheel $(DSTROOT)/$(INSTALL_PREFIX)/usr/clang-ide/lib/c++
chmod 755 $(DSTROOT)/$(INSTALL_PREFIX)/usr/lib/c++/v1
chmod 755 $(DSTROOT)/$(INSTALL_PREFIX)/usr/clang-ide/lib/c++/v1
chmod 644 $(DSTROOT)/$(INSTALL_PREFIX)/usr/lib/c++/v1/*
chmod 644 $(DSTROOT)/$(INSTALL_PREFIX)/usr/clang-ide/lib/c++/v1/*
chmod 755 $(DSTROOT)/$(INSTALL_PREFIX)/usr/lib/c++/v1/ext
chmod 755 $(DSTROOT)/$(INSTALL_PREFIX)/usr/clang-ide/lib/c++/v1/ext
chmod 644 $(DSTROOT)/$(INSTALL_PREFIX)/usr/lib/c++/v1/ext/*
chmod 644 $(DSTROOT)/$(INSTALL_PREFIX)/usr/clang-ide/lib/c++/v1/ext/*
install:: installhdrs $(DESTDIR)

View File

@ -146,6 +146,9 @@ typedef __char32_t char32_t;
#if !(__has_feature(cxx_auto_type))
#define _LIBCPP_HAS_NO_AUTO_TYPE
#endif
#if !(__has_feature(cxx_access_control_sfinae)) || !__has_feature(cxx_trailing_return)
#define _LIBCPP_HAS_NO_ADVANCED_SFINAE
#endif

View File

@ -432,9 +432,10 @@ public:
bool __value_constructed;
_LIBCPP_INLINE_VISIBILITY
explicit __hash_node_destructor(allocator_type& __na) _NOEXCEPT
explicit __hash_node_destructor(allocator_type& __na,
bool __constructed = false) _NOEXCEPT
: __na_(__na),
__value_constructed(false)
__value_constructed(__constructed)
{}
_LIBCPP_INLINE_VISIBILITY
@ -1753,7 +1754,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::remove(const_iterator __p) _NOEXCEPT
__pn->__next_ = __cn->__next_;
__cn->__next_ = nullptr;
--size();
return __node_holder(__cn, _D(__node_alloc()));
return __node_holder(__cn, _D(__node_alloc(), true));
}
template <class _Tp, class _Hash, class _Equal, class _Alloc>

View File

@ -1294,7 +1294,7 @@ struct __has_allocate_hint
#endif // _LIBCPP_HAS_NO_ADVANCED_SFINAE
#ifndef _LIBCPP_HAS_NO_ADVANCED_SFINAE
#if !defined(_LIBCPP_HAS_NO_ADVANCED_SFINAE) && !defined(_LIBCPP_HAS_NO_VARIADICS)
template <class _Alloc, class _Tp, class ..._Args>
decltype(_VSTD::declval<_Alloc>().construct(_VSTD::declval<_Tp*>(),

View File

@ -3014,11 +3014,15 @@ struct __invoke_of
template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY
#ifndef _LIBCPP_HAS_NO_ADVANCED_SFINAE
typename enable_if
<
is_move_constructible<_Tp>::value &&
is_move_assignable<_Tp>::value
>::type
#else
void
#endif
swap(_Tp& __x, _Tp& __y) _NOEXCEPT_(is_nothrow_move_constructible<_Tp>::value &&
is_nothrow_move_assignable<_Tp>::value)
{

View File

@ -226,9 +226,12 @@ struct _LIBCPP_VISIBLE pair
template<class _U1, class _U2>
_LIBCPP_INLINE_VISIBILITY
pair(const pair<_U1, _U2>& __p,
typename enable_if<is_constructible<_T1, _U1>::value &&
is_constructible<_T2, _U2>::value>::type* = 0)
pair(const pair<_U1, _U2>& __p
#ifndef _LIBCPP_HAS_NO_ADVANCED_SFINAE
,typename enable_if<is_constructible<_T1, _U1>::value &&
is_constructible<_T2, _U2>::value>::type* = 0
#endif
)
: first(__p.first), second(__p.second) {}
_LIBCPP_INLINE_VISIBILITY

View File

@ -817,6 +817,8 @@ public:
valarray& operator=(const gslice_array<value_type>& __ga);
valarray& operator=(const mask_array<value_type>& __ma);
valarray& operator=(const indirect_array<value_type>& __ia);
template <class _ValExpr>
valarray& operator=(const __val_expr<_ValExpr>& __v);
// element access:
_LIBCPP_INLINE_VISIBILITY
@ -2958,6 +2960,21 @@ valarray<_Tp>::operator=(const indirect_array<value_type>& __ia)
return *this;
}
template <class _Tp>
template <class _ValExpr>
inline _LIBCPP_INLINE_VISIBILITY
valarray<_Tp>&
valarray<_Tp>::operator=(const __val_expr<_ValExpr>& __v)
{
size_t __n = __v.size();
if (size() != __n)
resize(__n);
value_type* __t = __begin_;
for (size_t __i = 0; __i != __n; ++__t, ++__i)
*__t = result_type(__v[__i]);
return *this;
}
template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY
__val_expr<__slice_expr<const valarray<_Tp>&> >

View File

@ -56,6 +56,7 @@ std::get_terminate() _NOEXCEPT
return __sync_fetch_and_add(&__terminate_handler, (std::terminate_handler)0);
}
_ATTRIBUTE(noreturn)
void
std::terminate() _NOEXCEPT
{

View File

@ -35,7 +35,7 @@ namespace {
_LIBCPP_BEGIN_NAMESPACE_STD
#ifndef _LIBCPP_APPLE_STABLE_ABI
#ifndef _LIBCPP_STABLE_APPLE_ABI
locale_t __cloc() {
// In theory this could create a race condition. In practice
// the race condition is non-fatal since it will just create
@ -47,7 +47,7 @@ locale_t __cloc() {
return result;
#endif
}
#endif // _LIBCPP_APPLE_STABLE_ABI
#endif // _LIBCPP_STABLE_APPLE_ABI
namespace {
@ -942,7 +942,7 @@ ctype<char>::__classic_upper_table() _NOEXCEPT
return NULL;
#endif
}
#endif // _LIBCPP_APPLE_STABLE_ABI
#endif // _LIBCPP_STABLE_APPLE_ABI
// template <> class ctype_byname<char>