Compare commits

...

18 Commits

Author SHA1 Message Date
NAKAMURA Takumi
307c285079 Merge remote branch 'llvm.org/master' into clang 2011-05-09 12:27:44 +09:00
Nick Kledzik
d982028b92 change RC_BUILDIT to RC_XBS for detecting Apple build environment
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@130970 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-06 01:13:20 +00:00
Nick Kledzik
ffadfd4c1e add support for setjmp/longjmp based exceptions
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@130938 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-05 18:45:41 +00:00
Nick Kledzik
c6e08d6c44 <rdar://problem/9014045> more support for Apple internal build environments
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@130872 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-04 21:50:46 +00:00
NAKAMURA Takumi
cb430f3a47 test: Mark 316 tests as XFAIL to rename to xfail.pass.cpp. 2011-05-01 21:52:09 +09:00
NAKAMURA Takumi
d3665e1d9d test/lit.cfg: Add .xfail.pass.cpp, to expect compiling successfully and to fail to run. 2011-05-01 21:52:08 +09:00
NAKAMURA Takumi
6911fb59fd Mark 218 tests as fail to compile lack of C++0x features. 2011-05-01 21:52:08 +09:00
NAKAMURA Takumi
a177c5da7b test/lit.cfg: Python-2.4 does not accept "delete" in tempfile.NamedTemporaryFile. 2011-05-01 21:52:08 +09:00
NAKAMURA Takumi
352c9e1a46 __std_stream: Fix error checking in __stdoutbuf<_CharT>::sync(). 2011-05-01 21:52:08 +09:00
NAKAMURA Takumi
710f61ba2a include/__locale: Tweak __tab_.
FIXME: wip! wip!
2011-05-01 21:52:08 +09:00
Howard Hinnant
469d419a17 Correction to set of overloaded pair constructors for C++0x
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@130521 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-29 18:10:55 +00:00
Douglas Gregor
7ac6af7027 Qualify calls to std::next(), to avoid conflicts with
libraries/applications that define their own 'next' template.


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@130511 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-29 16:20:26 +00:00
Howard Hinnant
e14ea5835e http://llvm.org/bugs/show_bug.cgi?id=9765
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@129910 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-21 14:29:59 +00:00
Howard Hinnant
75f7695c62 Think-o in poisson_distribution at mean == 10
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@129520 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-14 15:59:22 +00:00
Howard Hinnant
ef3b2e2e34 Fix bug in Sseq constraints found by Seth Cantrell
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@129285 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-11 18:22:12 +00:00
Howard Hinnant
9dbeff919b http://llvm.org/bugs/show_bug.cgi?id=9672
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@129266 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-11 02:18:41 +00:00
Howard Hinnant
8c1aa2c24d Changes to cerrno to protect against the case the ELAST is not defined.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@129255 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-10 19:46:55 +00:00
Howard Hinnant
506b36487c time_get was missing the %F specifier. This change impacts the binary.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@129251 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-10 17:54:14 +00:00
550 changed files with 264 additions and 87 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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;

View File

@@ -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_);

View File

@@ -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)

View File

@@ -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)

View File

@@ -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;

View File

@@ -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;

View File

@@ -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)

View File

@@ -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:

View File

@@ -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
View 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