Compare commits
18 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
307c285079 | ||
![]() |
d982028b92 | ||
![]() |
ffadfd4c1e | ||
![]() |
c6e08d6c44 | ||
![]() |
cb430f3a47 | ||
![]() |
d3665e1d9d | ||
![]() |
6911fb59fd | ||
![]() |
a177c5da7b | ||
![]() |
352c9e1a46 | ||
![]() |
710f61ba2a | ||
![]() |
469d419a17 | ||
![]() |
7ac6af7027 | ||
![]() |
e14ea5835e | ||
![]() |
75f7695c62 | ||
![]() |
ef3b2e2e34 | ||
![]() |
9dbeff919b | ||
![]() |
8c1aa2c24d | ||
![]() |
506b36487c |
@@ -184,10 +184,12 @@ namespace std {
|
|||||||
#define _LIBCPP_HAS_NO_UNICODE_CHARS
|
#define _LIBCPP_HAS_NO_UNICODE_CHARS
|
||||||
#define _LIBCPP_HAS_NO_VARIADICS
|
#define _LIBCPP_HAS_NO_VARIADICS
|
||||||
#define _LIBCPP_HAS_NO_RVALUE_REFERENCES
|
#define _LIBCPP_HAS_NO_RVALUE_REFERENCES
|
||||||
|
#define _LIBCPP_HAS_NO_ALWAYS_INLINE_VARIADICS
|
||||||
|
|
||||||
#else // __GXX_EXPERIMENTAL_CXX0X__
|
#else // __GXX_EXPERIMENTAL_CXX0X__
|
||||||
|
|
||||||
#define _LIBCPP_HAS_NO_TRAILING_RETURN
|
#define _LIBCPP_HAS_NO_TRAILING_RETURN
|
||||||
|
#define _LIBCPP_HAS_NO_ALWAYS_INLINE_VARIADICS
|
||||||
|
|
||||||
#if !(__GNUC__ >= 4 && __GNUC_MINOR__ >= 3)
|
#if !(__GNUC__ >= 4 && __GNUC_MINOR__ >= 3)
|
||||||
#define _LIBCPP_HAS_NO_RVALUE_REFERENCES
|
#define _LIBCPP_HAS_NO_RVALUE_REFERENCES
|
||||||
@@ -207,7 +209,6 @@ namespace std {
|
|||||||
#endif // !(__GNUC__ >= 4 && __GNUC_MINOR__ >= 4)
|
#endif // !(__GNUC__ >= 4 && __GNUC_MINOR__ >= 4)
|
||||||
|
|
||||||
#if !(__GNUC__ >= 4 && __GNUC_MINOR__ >= 6)
|
#if !(__GNUC__ >= 4 && __GNUC_MINOR__ >= 6)
|
||||||
#define _LIBCPP_HAS_NO_ALWAYS_INLINE_VARIADICS
|
|
||||||
#define _LIBCPP_HAS_NO_NULLPTR
|
#define _LIBCPP_HAS_NO_NULLPTR
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -451,7 +451,7 @@ public:
|
|||||||
_LIBCPP_ALWAYS_INLINE
|
_LIBCPP_ALWAYS_INLINE
|
||||||
bool is(mask __m, char_type __c) const
|
bool is(mask __m, char_type __c) const
|
||||||
{
|
{
|
||||||
return isascii(__c) ? __tab_[__c] & __m : false;
|
return isascii(__c) ? (__tab_ ? __tab_[__c] & __m : isctype(__c, __m)) : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
_LIBCPP_ALWAYS_INLINE
|
_LIBCPP_ALWAYS_INLINE
|
||||||
|
@@ -288,12 +288,12 @@ __stdoutbuf<_CharT>::sync()
|
|||||||
__r = __cv_->unshift(__st_, __extbuf,
|
__r = __cv_->unshift(__st_, __extbuf,
|
||||||
__extbuf + sizeof(__extbuf),
|
__extbuf + sizeof(__extbuf),
|
||||||
__extbe);
|
__extbe);
|
||||||
|
if (__r == codecvt_base::error)
|
||||||
|
return -1;
|
||||||
size_t __nmemb = static_cast<size_t>(__extbe - __extbuf);
|
size_t __nmemb = static_cast<size_t>(__extbe - __extbuf);
|
||||||
if (fwrite(__extbuf, 1, __nmemb, __file_) != __nmemb)
|
if (fwrite(__extbuf, 1, __nmemb, __file_) != __nmemb)
|
||||||
return -1;
|
return -1;
|
||||||
} while (__r == codecvt_base::partial);
|
} while (__r == codecvt_base::partial);
|
||||||
if (__r == codecvt_base::error)
|
|
||||||
return -1;
|
|
||||||
if (fflush(__file_))
|
if (fflush(__file_))
|
||||||
return -1;
|
return -1;
|
||||||
return 0;
|
return 0;
|
||||||
|
@@ -1609,7 +1609,7 @@ __tree<_Tp, _Compare, _Allocator>::__find_equal(const_iterator __hint,
|
|||||||
const_iterator __next = _STD::next(__hint);
|
const_iterator __next = _STD::next(__hint);
|
||||||
if (__next == end() || value_comp()(__v, *__next))
|
if (__next == end() || value_comp()(__v, *__next))
|
||||||
{
|
{
|
||||||
// *__hint < __v < *next(__hint)
|
// *__hint < __v < *_STD::next(__hint)
|
||||||
if (__hint.__ptr_->__right_ == nullptr)
|
if (__hint.__ptr_->__right_ == nullptr)
|
||||||
{
|
{
|
||||||
__parent = const_cast<__node_pointer&>(__hint.__ptr_);
|
__parent = const_cast<__node_pointer&>(__hint.__ptr_);
|
||||||
|
@@ -30,25 +30,43 @@ Macros:
|
|||||||
|
|
||||||
#if !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE)
|
#if !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE)
|
||||||
|
|
||||||
|
#ifdef ELAST
|
||||||
|
|
||||||
const int __elast1 = ELAST+1;
|
const int __elast1 = ELAST+1;
|
||||||
const int __elast2 = ELAST+2;
|
const int __elast2 = ELAST+2;
|
||||||
#undef ELAST
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
const int __elast1 = 104;
|
||||||
|
const int __elast2 = 105;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef ENOTRECOVERABLE
|
#ifdef ENOTRECOVERABLE
|
||||||
|
|
||||||
#define EOWNERDEAD __elast1
|
#define EOWNERDEAD __elast1
|
||||||
|
|
||||||
|
#ifdef ELAST
|
||||||
|
#undef ELAST
|
||||||
#define ELAST EOWNERDEAD
|
#define ELAST EOWNERDEAD
|
||||||
|
#endif
|
||||||
|
|
||||||
#elif defined(EOWNERDEAD)
|
#elif defined(EOWNERDEAD)
|
||||||
|
|
||||||
#define ENOTRECOVERABLE __elast1
|
#define ENOTRECOVERABLE __elast1
|
||||||
|
#ifdef ELAST
|
||||||
|
#undef ELAST
|
||||||
#define ELAST ENOTRECOVERABLE
|
#define ELAST ENOTRECOVERABLE
|
||||||
|
#endif
|
||||||
|
|
||||||
#else // defined(EOWNERDEAD)
|
#else // defined(EOWNERDEAD)
|
||||||
|
|
||||||
#define EOWNERDEAD __elast1
|
#define EOWNERDEAD __elast1
|
||||||
#define ENOTRECOVERABLE __elast2
|
#define ENOTRECOVERABLE __elast2
|
||||||
|
#ifdef ELAST
|
||||||
|
#undef ELAST
|
||||||
#define ELAST ENOTRECOVERABLE
|
#define ELAST ENOTRECOVERABLE
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // defined(EOWNERDEAD)
|
#endif // defined(EOWNERDEAD)
|
||||||
|
|
||||||
|
@@ -1787,7 +1787,7 @@ deque<_Tp, _Allocator>::insert(const_iterator __p, const value_type& __v)
|
|||||||
--__base::__start_;
|
--__base::__start_;
|
||||||
++__base::size();
|
++__base::size();
|
||||||
if (__pos > 1)
|
if (__pos > 1)
|
||||||
__b = __move_and_check(next(__b), __b + __pos, __b, __vt);
|
__b = __move_and_check(_STD::next(__b), __b + __pos, __b, __vt);
|
||||||
*__b = *__vt;
|
*__b = *__vt;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1847,7 +1847,7 @@ deque<_Tp, _Allocator>::insert(const_iterator __p, value_type&& __v)
|
|||||||
--__base::__start_;
|
--__base::__start_;
|
||||||
++__base::size();
|
++__base::size();
|
||||||
if (__pos > 1)
|
if (__pos > 1)
|
||||||
__b = _STD::move(next(__b), __b + __pos, __b);
|
__b = _STD::move(_STD::next(__b), __b + __pos, __b);
|
||||||
*__b = _STD::move(__v);
|
*__b = _STD::move(__v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1905,7 +1905,7 @@ deque<_Tp, _Allocator>::emplace(const_iterator __p, _Args&&... __args)
|
|||||||
--__base::__start_;
|
--__base::__start_;
|
||||||
++__base::size();
|
++__base::size();
|
||||||
if (__pos > 1)
|
if (__pos > 1)
|
||||||
__b = _STD::move(next(__b), __b + __pos, __b);
|
__b = _STD::move(_STD::next(__b), __b + __pos, __b);
|
||||||
*__b = value_type(_STD::forward<_Args>(__args)...);
|
*__b = value_type(_STD::forward<_Args>(__args)...);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2621,7 +2621,7 @@ deque<_Tp, _Allocator>::erase(const_iterator __f)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{ // erase from back
|
{ // erase from back
|
||||||
iterator __i = _STD::move(next(__p), __base::end(), __p);
|
iterator __i = _STD::move(_STD::next(__p), __base::end(), __p);
|
||||||
__alloc_traits::destroy(__a, _STD::addressof(*__i));
|
__alloc_traits::destroy(__a, _STD::addressof(*__i));
|
||||||
--__base::size();
|
--__base::size();
|
||||||
if (__back_spare() >= 2 * __base::__block_size)
|
if (__back_spare() >= 2 * __base::__block_size)
|
||||||
|
@@ -2346,6 +2346,12 @@ time_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|||||||
__b = get(__b, __e, __iob, __err, __tm, __fmt, __fmt + sizeof(__fmt)/sizeof(__fmt[0]));
|
__b = get(__b, __e, __iob, __err, __tm, __fmt, __fmt + sizeof(__fmt)/sizeof(__fmt[0]));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 'F':
|
||||||
|
{
|
||||||
|
const char_type __fmt[] = {'%', 'Y', '-', '%', 'm', '-', '%', 'd'};
|
||||||
|
__b = get(__b, __e, __iob, __err, __tm, __fmt, __fmt + sizeof(__fmt)/sizeof(__fmt[0]));
|
||||||
|
}
|
||||||
|
break;
|
||||||
case 'H':
|
case 'H':
|
||||||
__get_hour(__tm->tm_hour, __b, __e, __err, __ct);
|
__get_hour(__tm->tm_hour, __b, __e, __err, __ct);
|
||||||
break;
|
break;
|
||||||
|
@@ -567,9 +567,9 @@ public:
|
|||||||
typedef const value_type& reference;
|
typedef const value_type& reference;
|
||||||
typedef typename __pointer_traits::template
|
typedef typename __pointer_traits::template
|
||||||
#ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
|
#ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
|
||||||
rebind<value_type>
|
rebind<const value_type>
|
||||||
#else
|
#else
|
||||||
rebind<value_type>::other
|
rebind<const value_type>::other
|
||||||
#endif
|
#endif
|
||||||
pointer;
|
pointer;
|
||||||
|
|
||||||
|
@@ -1650,6 +1650,16 @@ class piecewise_linear_distribution
|
|||||||
|
|
||||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||||
|
|
||||||
|
// __is_seed_sequence
|
||||||
|
|
||||||
|
template <class _Sseq, class _Engine>
|
||||||
|
struct __is_seed_sequence
|
||||||
|
{
|
||||||
|
static const bool value =
|
||||||
|
!is_convertible<_Sseq, typename _Engine::result_type>::value &&
|
||||||
|
!is_same<typename remove_cv<_Sseq>::type, _Engine>::value;
|
||||||
|
};
|
||||||
|
|
||||||
// linear_congruential_engine
|
// linear_congruential_engine
|
||||||
|
|
||||||
template <unsigned long long __a, unsigned long long __c,
|
template <unsigned long long __a, unsigned long long __c,
|
||||||
@@ -1848,7 +1858,7 @@ public:
|
|||||||
{seed(__s);}
|
{seed(__s);}
|
||||||
template<class _Sseq> explicit linear_congruential_engine(_Sseq& __q,
|
template<class _Sseq> explicit linear_congruential_engine(_Sseq& __q,
|
||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
typename enable_if<!is_convertible<_Sseq, result_type>::value>::type* = 0)
|
typename enable_if<__is_seed_sequence<_Sseq, linear_congruential_engine>::value>::type* = 0)
|
||||||
{seed(__q);}
|
{seed(__q);}
|
||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
void seed(result_type __s = default_seed)
|
void seed(result_type __s = default_seed)
|
||||||
@@ -1858,7 +1868,7 @@ public:
|
|||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
typename enable_if
|
typename enable_if
|
||||||
<
|
<
|
||||||
!is_convertible<_Sseq, result_type>::value,
|
__is_seed_sequence<_Sseq, linear_congruential_engine>::value,
|
||||||
void
|
void
|
||||||
>::type
|
>::type
|
||||||
seed(_Sseq& __q)
|
seed(_Sseq& __q)
|
||||||
@@ -2104,14 +2114,14 @@ public:
|
|||||||
{seed(__sd);}
|
{seed(__sd);}
|
||||||
template<class _Sseq> explicit mersenne_twister_engine(_Sseq& __q,
|
template<class _Sseq> explicit mersenne_twister_engine(_Sseq& __q,
|
||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
typename enable_if<!is_convertible<_Sseq, result_type>::value>::type* = 0)
|
typename enable_if<__is_seed_sequence<_Sseq, mersenne_twister_engine>::value>::type* = 0)
|
||||||
{seed(__q);}
|
{seed(__q);}
|
||||||
void seed(result_type __sd = default_seed);
|
void seed(result_type __sd = default_seed);
|
||||||
template<class _Sseq>
|
template<class _Sseq>
|
||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
typename enable_if
|
typename enable_if
|
||||||
<
|
<
|
||||||
!is_convertible<_Sseq, result_type>::value,
|
__is_seed_sequence<_Sseq, mersenne_twister_engine>::value,
|
||||||
void
|
void
|
||||||
>::type
|
>::type
|
||||||
seed(_Sseq& __q)
|
seed(_Sseq& __q)
|
||||||
@@ -2473,7 +2483,7 @@ public:
|
|||||||
{seed(__sd);}
|
{seed(__sd);}
|
||||||
template<class _Sseq> explicit subtract_with_carry_engine(_Sseq& __q,
|
template<class _Sseq> explicit subtract_with_carry_engine(_Sseq& __q,
|
||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
typename enable_if<!is_convertible<_Sseq, result_type>::value>::type* = 0)
|
typename enable_if<__is_seed_sequence<_Sseq, subtract_with_carry_engine>::value>::type* = 0)
|
||||||
{seed(__q);}
|
{seed(__q);}
|
||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
void seed(result_type __sd = default_seed)
|
void seed(result_type __sd = default_seed)
|
||||||
@@ -2482,7 +2492,7 @@ public:
|
|||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
typename enable_if
|
typename enable_if
|
||||||
<
|
<
|
||||||
!is_convertible<_Sseq, result_type>::value,
|
__is_seed_sequence<_Sseq, subtract_with_carry_engine>::value,
|
||||||
void
|
void
|
||||||
>::type
|
>::type
|
||||||
seed(_Sseq& __q)
|
seed(_Sseq& __q)
|
||||||
@@ -2741,7 +2751,7 @@ public:
|
|||||||
template<class _Sseq>
|
template<class _Sseq>
|
||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
explicit discard_block_engine(_Sseq& __q,
|
explicit discard_block_engine(_Sseq& __q,
|
||||||
typename enable_if<!is_convertible<_Sseq, result_type>::value &&
|
typename enable_if<__is_seed_sequence<_Sseq, discard_block_engine>::value &&
|
||||||
!is_convertible<_Sseq, _Engine>::value>::type* = 0)
|
!is_convertible<_Sseq, _Engine>::value>::type* = 0)
|
||||||
: __e_(__q), __n_(0) {}
|
: __e_(__q), __n_(0) {}
|
||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
@@ -2752,7 +2762,7 @@ public:
|
|||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
typename enable_if
|
typename enable_if
|
||||||
<
|
<
|
||||||
!is_convertible<_Sseq, result_type>::value,
|
__is_seed_sequence<_Sseq, discard_block_engine>::value,
|
||||||
void
|
void
|
||||||
>::type
|
>::type
|
||||||
seed(_Sseq& __q) {__e_.seed(__q); __n_ = 0;}
|
seed(_Sseq& __q) {__e_.seed(__q); __n_ = 0;}
|
||||||
@@ -2940,7 +2950,7 @@ public:
|
|||||||
explicit independent_bits_engine(result_type __sd) : __e_(__sd) {}
|
explicit independent_bits_engine(result_type __sd) : __e_(__sd) {}
|
||||||
template<class _Sseq> explicit independent_bits_engine(_Sseq& __q,
|
template<class _Sseq> explicit independent_bits_engine(_Sseq& __q,
|
||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
typename enable_if<!is_convertible<_Sseq, result_type>::value &&
|
typename enable_if<__is_seed_sequence<_Sseq, independent_bits_engine>::value &&
|
||||||
!is_convertible<_Sseq, _Engine>::value>::type* = 0)
|
!is_convertible<_Sseq, _Engine>::value>::type* = 0)
|
||||||
: __e_(__q) {}
|
: __e_(__q) {}
|
||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
@@ -2951,7 +2961,7 @@ public:
|
|||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
typename enable_if
|
typename enable_if
|
||||||
<
|
<
|
||||||
!is_convertible<_Sseq, result_type>::value,
|
__is_seed_sequence<_Sseq, independent_bits_engine>::value,
|
||||||
void
|
void
|
||||||
>::type
|
>::type
|
||||||
seed(_Sseq& __q) {__e_.seed(__q);}
|
seed(_Sseq& __q) {__e_.seed(__q);}
|
||||||
@@ -3163,7 +3173,7 @@ public:
|
|||||||
explicit shuffle_order_engine(result_type __sd) : __e_(__sd) {__init();}
|
explicit shuffle_order_engine(result_type __sd) : __e_(__sd) {__init();}
|
||||||
template<class _Sseq> explicit shuffle_order_engine(_Sseq& __q,
|
template<class _Sseq> explicit shuffle_order_engine(_Sseq& __q,
|
||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
typename enable_if<!is_convertible<_Sseq, result_type>::value &&
|
typename enable_if<__is_seed_sequence<_Sseq, shuffle_order_engine>::value &&
|
||||||
!is_convertible<_Sseq, _Engine>::value>::type* = 0)
|
!is_convertible<_Sseq, _Engine>::value>::type* = 0)
|
||||||
: __e_(__q) {__init();}
|
: __e_(__q) {__init();}
|
||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
@@ -3174,7 +3184,7 @@ public:
|
|||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
typename enable_if
|
typename enable_if
|
||||||
<
|
<
|
||||||
!is_convertible<_Sseq, result_type>::value,
|
__is_seed_sequence<_Sseq, shuffle_order_engine>::value,
|
||||||
void
|
void
|
||||||
>::type
|
>::type
|
||||||
seed(_Sseq& __q) {__e_.seed(__q); __init();}
|
seed(_Sseq& __q) {__e_.seed(__q); __init();}
|
||||||
@@ -4467,7 +4477,7 @@ poisson_distribution<_IntType>::operator()(_URNG& __urng, const param_type& __pr
|
|||||||
{
|
{
|
||||||
result_type __x;
|
result_type __x;
|
||||||
uniform_real_distribution<double> __urd;
|
uniform_real_distribution<double> __urd;
|
||||||
if (__pr.__mean_ <= 10)
|
if (__pr.__mean_ < 10)
|
||||||
{
|
{
|
||||||
__x = 0;
|
__x = 0;
|
||||||
for (double __p = __urd(__urng); __p > __pr.__l_; ++__x)
|
for (double __p = __urd(__urng); __p > __pr.__l_; ++__x)
|
||||||
|
@@ -211,6 +211,13 @@ struct _LIBCPP_VISIBLE pair
|
|||||||
_LIBCPP_INLINE_VISIBILITY pair(const _T1& __x, const _T2& __y)
|
_LIBCPP_INLINE_VISIBILITY pair(const _T1& __x, const _T2& __y)
|
||||||
: first(__x), second(__y) {}
|
: first(__x), second(__y) {}
|
||||||
|
|
||||||
|
template<class _U1, class _U2>
|
||||||
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
|
pair(const pair<_U1, _U2>& __p,
|
||||||
|
typename enable_if<is_convertible<_U1, _T1>::value &&
|
||||||
|
is_convertible<_U2, _T2>::value>::type* = 0)
|
||||||
|
: first(__p.first), second(__p.second) {}
|
||||||
|
|
||||||
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
|
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
|
||||||
|
|
||||||
template <class _U1, class _U2,
|
template <class _U1, class _U2,
|
||||||
@@ -222,6 +229,14 @@ struct _LIBCPP_VISIBLE pair
|
|||||||
second(_STD::forward<_U2>(__u2))
|
second(_STD::forward<_U2>(__u2))
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
template<class _U1, class _U2>
|
||||||
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
|
pair(pair<_U1, _U2>&& __p,
|
||||||
|
typename enable_if<is_convertible<_U1, _T1>::value &&
|
||||||
|
is_convertible<_U2, _T2>::value>::type* = 0)
|
||||||
|
: first(_STD::forward<_U1>(__p.first)),
|
||||||
|
second(_STD::forward<_U2>(__p.second)) {}
|
||||||
|
|
||||||
#ifndef _LIBCPP_HAS_NO_VARIADICS
|
#ifndef _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
template<class _Tuple,
|
template<class _Tuple,
|
||||||
@@ -261,10 +276,6 @@ struct _LIBCPP_VISIBLE pair
|
|||||||
|
|
||||||
#endif // _LIBCPP_HAS_NO_VARIADICS
|
#endif // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
#else // _LIBCPP_HAS_NO_RVALUE_REFERENCES
|
|
||||||
template<class _U1, class _U2>
|
|
||||||
_LIBCPP_INLINE_VISIBILITY pair(const pair<_U1, _U2>& __p)
|
|
||||||
: first(__p.first), second(__p.second) {}
|
|
||||||
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
|
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
|
||||||
void _LIBCPP_INLINE_VISIBILITY swap(pair& __p) {_STD::swap(*this, __p);}
|
void _LIBCPP_INLINE_VISIBILITY swap(pair& __p) {_STD::swap(*this, __p);}
|
||||||
private:
|
private:
|
||||||
|
29
lib/buildit
29
lib/buildit
@@ -17,6 +17,11 @@ then
|
|||||||
CXX=clang++
|
CXX=clang++
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -z "$CC" ]
|
||||||
|
then
|
||||||
|
CC=clang
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -z $MACOSX_DEPLOYMENT_TARGET ]
|
if [ -z $MACOSX_DEPLOYMENT_TARGET ]
|
||||||
then
|
then
|
||||||
MACOSX_DEPLOYMENT_TARGET=10.6
|
MACOSX_DEPLOYMENT_TARGET=10.6
|
||||||
@@ -29,7 +34,7 @@ fi
|
|||||||
|
|
||||||
case $TRIPLE in
|
case $TRIPLE in
|
||||||
*-apple-*)
|
*-apple-*)
|
||||||
if [ -z $RC_BUILDIT ]
|
if [ -z $RC_XBS ]
|
||||||
then
|
then
|
||||||
RC_CFLAGS="-arch i386 -arch x86_64"
|
RC_CFLAGS="-arch i386 -arch x86_64"
|
||||||
fi
|
fi
|
||||||
@@ -45,16 +50,24 @@ case $TRIPLE in
|
|||||||
-Wl,-unexported_symbols_list,libc++unexp.exp \
|
-Wl,-unexported_symbols_list,libc++unexp.exp \
|
||||||
/usr/lib/libSystem.B.dylib"
|
/usr/lib/libSystem.B.dylib"
|
||||||
else
|
else
|
||||||
EXTRA_FLAGS="-std=c++0x"
|
EXTRA_FLAGS="-std=c++0x "
|
||||||
LDSHARED_FLAGS="-o libc++.1.dylib \
|
RE_EXPORT_FILE="libc++abi.exp"
|
||||||
|
if [ -n "$SDKROOT" ]
|
||||||
|
then
|
||||||
|
EXTRA_FLAGS+="-isysroot ${SDKROOT}"
|
||||||
|
RE_EXPORT_FILE="libc++sjlj-abi.exp"
|
||||||
|
CXX=`xcrun -sdk "${SDKROOT}" -find clang++`
|
||||||
|
CC=`xcrun -sdk "${SDKROOT}" -find clang`
|
||||||
|
fi
|
||||||
|
LDSHARED_FLAGS="-o libc++.1.dylib \
|
||||||
-dynamiclib -nodefaultlibs \
|
-dynamiclib -nodefaultlibs \
|
||||||
-current_version ${RC_ProjectSourceVersion} -compatibility_version 1 \
|
-current_version ${RC_ProjectSourceVersion} -compatibility_version 1 \
|
||||||
-install_name /usr/lib/libc++.1.dylib \
|
-install_name /usr/lib/libc++.1.dylib \
|
||||||
${SDKROOT}/usr/lib/libc++abi.dylib \
|
${SDKROOT}/usr/lib/libc++abi.dylib \
|
||||||
-lSystem \
|
-lSystem \
|
||||||
-Wl,-unexported_symbols_list,libc++unexp.exp \
|
-Wl,-unexported_symbols_list,libc++unexp.exp \
|
||||||
-Wl,-reexported_symbols_list,libc++abi.exp \
|
-Wl,-reexported_symbols_list,${RE_EXPORT_FILE} \
|
||||||
-Wl,-force_symbols_not_weak_list,notweak.exp"
|
-Wl,-force_symbols_not_weak_list,notweak.exp "
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@@ -66,7 +79,7 @@ case $TRIPLE in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if [ -z $RC_BUILDIT ]
|
if [ -z $RC_XBS ]
|
||||||
then
|
then
|
||||||
rm -f libc++.1.$SOEXT*
|
rm -f libc++.1.$SOEXT*
|
||||||
fi
|
fi
|
||||||
@@ -78,11 +91,11 @@ for FILE in ../src/*.cpp; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
cc *.o $RC_CFLAGS $LDSHARED_FLAGS
|
$CC *.o $RC_CFLAGS $LDSHARED_FLAGS $EXTRA_FLAGS
|
||||||
|
|
||||||
#libtool -static -o libc++.a *.o
|
#libtool -static -o libc++.a *.o
|
||||||
|
|
||||||
if [ -z $RC_BUILDIT ]
|
if [ -z $RC_XBS ]
|
||||||
then
|
then
|
||||||
rm *.o
|
rm *.o
|
||||||
fi
|
fi
|
||||||
|
159
lib/libc++sjlj-abi.exp
Normal file
159
lib/libc++sjlj-abi.exp
Normal file
@@ -0,0 +1,159 @@
|
|||||||
|
___cxa_allocate_exception
|
||||||
|
___cxa_end_catch
|
||||||
|
___cxa_demangle
|
||||||
|
___cxa_current_exception_type
|
||||||
|
___cxa_call_unexpected
|
||||||
|
___cxa_free_exception
|
||||||
|
___cxa_get_exception_ptr
|
||||||
|
___cxa_get_globals
|
||||||
|
___cxa_get_globals_fast
|
||||||
|
___cxa_guard_abort
|
||||||
|
___cxa_guard_acquire
|
||||||
|
___cxa_guard_release
|
||||||
|
___cxa_rethrow
|
||||||
|
___cxa_pure_virtual
|
||||||
|
___cxa_begin_catch
|
||||||
|
___cxa_throw
|
||||||
|
___cxa_vec_cctor
|
||||||
|
___cxa_vec_cleanup
|
||||||
|
___cxa_vec_ctor
|
||||||
|
___cxa_vec_delete
|
||||||
|
___cxa_vec_delete2
|
||||||
|
___cxa_vec_delete3
|
||||||
|
___cxa_vec_dtor
|
||||||
|
___cxa_vec_new
|
||||||
|
___cxa_vec_new2
|
||||||
|
___cxa_vec_new3
|
||||||
|
___dynamic_cast
|
||||||
|
___gxx_personality_sj0
|
||||||
|
#__ZTIDi
|
||||||
|
#__ZTIDn
|
||||||
|
#__ZTIDs
|
||||||
|
#__ZTIPDi
|
||||||
|
#__ZTIPDn
|
||||||
|
#__ZTIPDs
|
||||||
|
#__ZTIPKDi
|
||||||
|
#__ZTIPKDn
|
||||||
|
#__ZTIPKDs
|
||||||
|
__ZTSPm
|
||||||
|
__ZTSPl
|
||||||
|
__ZTSPj
|
||||||
|
__ZTSPi
|
||||||
|
__ZTSPh
|
||||||
|
__ZTSPf
|
||||||
|
__ZTSPe
|
||||||
|
__ZTSPd
|
||||||
|
__ZTSPc
|
||||||
|
__ZTSPb
|
||||||
|
__ZTSPa
|
||||||
|
__ZTSPKc
|
||||||
|
__ZTSPKy
|
||||||
|
__ZTSPKx
|
||||||
|
__ZTSPKw
|
||||||
|
__ZTSPKv
|
||||||
|
__ZTSPKt
|
||||||
|
__ZTSPKs
|
||||||
|
__ZTSPKm
|
||||||
|
__ZTSPKl
|
||||||
|
__ZTSPKi
|
||||||
|
__ZTSPKh
|
||||||
|
__ZTSPs
|
||||||
|
__ZTSPt
|
||||||
|
__ZTSPv
|
||||||
|
__ZTSPw
|
||||||
|
__ZTSPKa
|
||||||
|
__ZTSPx
|
||||||
|
__ZTSPy
|
||||||
|
__ZTSPKd
|
||||||
|
__ZTSPKe
|
||||||
|
__ZTSPKj
|
||||||
|
__ZTSPKb
|
||||||
|
__ZTSPKf
|
||||||
|
__ZTSv
|
||||||
|
__ZTSt
|
||||||
|
__ZTSs
|
||||||
|
__ZTSm
|
||||||
|
__ZTSl
|
||||||
|
__ZTSj
|
||||||
|
__ZTSi
|
||||||
|
__ZTSh
|
||||||
|
__ZTSf
|
||||||
|
__ZTSe
|
||||||
|
__ZTSd
|
||||||
|
__ZTSc
|
||||||
|
__ZTSw
|
||||||
|
__ZTSx
|
||||||
|
__ZTSy
|
||||||
|
__ZTSb
|
||||||
|
__ZTSa
|
||||||
|
__ZTIPKh
|
||||||
|
__ZTIPKf
|
||||||
|
__ZTIPKe
|
||||||
|
__ZTIPKd
|
||||||
|
__ZTIPKc
|
||||||
|
__ZTIPKb
|
||||||
|
__ZTIPKa
|
||||||
|
__ZTIPy
|
||||||
|
__ZTIPx
|
||||||
|
__ZTIPw
|
||||||
|
__ZTIPv
|
||||||
|
__ZTIPt
|
||||||
|
__ZTIPs
|
||||||
|
__ZTIPm
|
||||||
|
__ZTIPl
|
||||||
|
__ZTIPj
|
||||||
|
__ZTIPi
|
||||||
|
__ZTIPKi
|
||||||
|
__ZTIPKj
|
||||||
|
__ZTIPKl
|
||||||
|
__ZTIPKm
|
||||||
|
__ZTIPKs
|
||||||
|
__ZTIPKt
|
||||||
|
__ZTIPKv
|
||||||
|
__ZTIPKw
|
||||||
|
__ZTIPKx
|
||||||
|
__ZTIPKy
|
||||||
|
__ZTIPa
|
||||||
|
__ZTIPb
|
||||||
|
__ZTIPc
|
||||||
|
__ZTIPd
|
||||||
|
__ZTIPe
|
||||||
|
__ZTIPf
|
||||||
|
__ZTIPh
|
||||||
|
__ZTVN10__cxxabiv129__pointer_to_member_type_infoE
|
||||||
|
__ZTVN10__cxxabiv116__enum_type_infoE
|
||||||
|
__ZTVN10__cxxabiv117__array_type_infoE
|
||||||
|
__ZTVN10__cxxabiv117__class_type_infoE
|
||||||
|
__ZTVN10__cxxabiv117__pbase_type_infoE
|
||||||
|
__ZTVN10__cxxabiv119__pointer_type_infoE
|
||||||
|
__ZTVN10__cxxabiv120__function_type_infoE
|
||||||
|
__ZTVN10__cxxabiv120__si_class_type_infoE
|
||||||
|
__ZTVN10__cxxabiv121__vmi_class_type_infoE
|
||||||
|
__ZTVN10__cxxabiv123__fundamental_type_infoE
|
||||||
|
__ZTIa
|
||||||
|
__ZTIb
|
||||||
|
__ZTIc
|
||||||
|
__ZTId
|
||||||
|
__ZTIe
|
||||||
|
__ZTIf
|
||||||
|
__ZTIh
|
||||||
|
__ZTIi
|
||||||
|
__ZTIj
|
||||||
|
__ZTIl
|
||||||
|
__ZTIm
|
||||||
|
__ZTIs
|
||||||
|
__ZTIt
|
||||||
|
__ZTSN10__cxxabiv129__pointer_to_member_type_infoE
|
||||||
|
__ZTSN10__cxxabiv123__fundamental_type_infoE
|
||||||
|
__ZTSN10__cxxabiv121__vmi_class_type_infoE
|
||||||
|
__ZTSN10__cxxabiv120__si_class_type_infoE
|
||||||
|
__ZTSN10__cxxabiv120__function_type_infoE
|
||||||
|
__ZTSN10__cxxabiv119__pointer_type_infoE
|
||||||
|
__ZTSN10__cxxabiv117__pbase_type_infoE
|
||||||
|
__ZTSN10__cxxabiv117__class_type_infoE
|
||||||
|
__ZTSN10__cxxabiv117__array_type_infoE
|
||||||
|
__ZTSN10__cxxabiv116__enum_type_infoE
|
||||||
|
__ZTIy
|
||||||
|
__ZTIx
|
||||||
|
__ZTIw
|
||||||
|
__ZTIv
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user