aboutsummaryrefslogtreecommitdiff
path: root/system/include/libcxx
diff options
context:
space:
mode:
Diffstat (limited to 'system/include/libcxx')
-rw-r--r--system/include/libcxx/CREDITS.TXT91
-rw-r--r--system/include/libcxx/LICENSE.txt4
-rw-r--r--system/include/libcxx/__bit_reference383
-rw-r--r--system/include/libcxx/__config206
-rw-r--r--system/include/libcxx/__debug19
-rw-r--r--system/include/libcxx/__functional_031222
-rw-r--r--system/include/libcxx/__functional_base203
-rw-r--r--system/include/libcxx/__functional_base_03548
-rw-r--r--system/include/libcxx/__hash_table181
-rw-r--r--system/include/libcxx/__locale116
-rw-r--r--system/include/libcxx/__mutex_base101
-rw-r--r--system/include/libcxx/__split_buffer32
-rw-r--r--system/include/libcxx/__sso_allocator18
-rw-r--r--system/include/libcxx/__std_stream12
-rw-r--r--system/include/libcxx/__tree82
-rw-r--r--system/include/libcxx/__tuple42
-rw-r--r--system/include/libcxx/__tuple_032
-rw-r--r--system/include/libcxx/__undef_min_max19
-rw-r--r--system/include/libcxx/algorithm486
-rw-r--r--system/include/libcxx/array13
-rw-r--r--system/include/libcxx/atomic750
-rw-r--r--system/include/libcxx/bitset95
-rw-r--r--system/include/libcxx/cassert2
-rw-r--r--system/include/libcxx/ccomplex2
-rw-r--r--system/include/libcxx/cctype5
-rw-r--r--system/include/libcxx/cerrno2
-rw-r--r--system/include/libcxx/cfenv2
-rw-r--r--system/include/libcxx/cfloat2
-rw-r--r--system/include/libcxx/chrono135
-rw-r--r--system/include/libcxx/cinttypes2
-rw-r--r--system/include/libcxx/ciso6462
-rw-r--r--system/include/libcxx/climits2
-rw-r--r--system/include/libcxx/clocale2
-rw-r--r--system/include/libcxx/cmath585
-rw-r--r--system/include/libcxx/codecvt2
-rw-r--r--system/include/libcxx/complex64
-rw-r--r--system/include/libcxx/complex.h2
-rw-r--r--system/include/libcxx/condition_variable30
-rw-r--r--system/include/libcxx/csetjmp2
-rw-r--r--system/include/libcxx/csignal2
-rw-r--r--system/include/libcxx/cstdarg2
-rw-r--r--system/include/libcxx/cstdbool2
-rw-r--r--system/include/libcxx/cstddef25
-rw-r--r--system/include/libcxx/cstdint2
-rw-r--r--system/include/libcxx/cstdio20
-rw-r--r--system/include/libcxx/cstdlib46
-rw-r--r--system/include/libcxx/cstring5
-rw-r--r--system/include/libcxx/ctgmath2
-rw-r--r--system/include/libcxx/ctime2
-rw-r--r--system/include/libcxx/cwchar19
-rw-r--r--system/include/libcxx/cwctype2
-rw-r--r--system/include/libcxx/deque36
-rw-r--r--system/include/libcxx/exception36
-rw-r--r--system/include/libcxx/ext/__hash2
-rw-r--r--system/include/libcxx/ext/hash_map22
-rw-r--r--system/include/libcxx/forward_list76
-rw-r--r--system/include/libcxx/fstream75
-rw-r--r--system/include/libcxx/functional620
-rw-r--r--system/include/libcxx/future1044
-rw-r--r--system/include/libcxx/initializer_list34
-rw-r--r--system/include/libcxx/iomanip54
-rw-r--r--system/include/libcxx/ios113
-rw-r--r--system/include/libcxx/iosfwd4
-rw-r--r--system/include/libcxx/iostream2
-rw-r--r--system/include/libcxx/istream115
-rw-r--r--system/include/libcxx/iterator217
-rw-r--r--system/include/libcxx/limits1030
-rw-r--r--system/include/libcxx/list723
-rw-r--r--system/include/libcxx/locale408
-rw-r--r--system/include/libcxx/map315
-rw-r--r--system/include/libcxx/memory1702
-rw-r--r--system/include/libcxx/mutex86
-rw-r--r--system/include/libcxx/new6
-rw-r--r--system/include/libcxx/numeric8
-rw-r--r--system/include/libcxx/ostream141
-rw-r--r--system/include/libcxx/queue6
-rw-r--r--system/include/libcxx/random1013
-rw-r--r--system/include/libcxx/ratio26
-rw-r--r--system/include/libcxx/readme.txt2
-rw-r--r--system/include/libcxx/regex172
-rw-r--r--system/include/libcxx/scoped_allocator2
-rw-r--r--system/include/libcxx/set2
-rw-r--r--system/include/libcxx/sstream4
-rw-r--r--system/include/libcxx/stack6
-rw-r--r--system/include/libcxx/stdexcept2
-rw-r--r--system/include/libcxx/streambuf20
-rw-r--r--system/include/libcxx/string146
-rw-r--r--system/include/libcxx/strstream2
-rw-r--r--system/include/libcxx/support/solaris/floatingpoint.h5
-rw-r--r--system/include/libcxx/support/solaris/wchar.h38
-rw-r--r--system/include/libcxx/support/solaris/xlocale.h146
-rw-r--r--system/include/libcxx/support/win32/limits_win32.h79
-rw-r--r--system/include/libcxx/support/win32/locale_win32.h116
-rw-r--r--system/include/libcxx/support/win32/math_win32.h113
-rw-r--r--system/include/libcxx/support/win32/support.h115
-rw-r--r--system/include/libcxx/system_error61
-rw-r--r--system/include/libcxx/tgmath.h2
-rw-r--r--system/include/libcxx/thread171
-rw-r--r--system/include/libcxx/tuple280
-rw-r--r--system/include/libcxx/type_traits809
-rw-r--r--system/include/libcxx/typeindex2
-rw-r--r--system/include/libcxx/typeinfo2
-rw-r--r--system/include/libcxx/unordered_map425
-rw-r--r--system/include/libcxx/unordered_set2
-rw-r--r--system/include/libcxx/utility35
-rw-r--r--system/include/libcxx/valarray70
-rw-r--r--system/include/libcxx/vector124
107 files changed, 10318 insertions, 6146 deletions
diff --git a/system/include/libcxx/CREDITS.TXT b/system/include/libcxx/CREDITS.TXT
new file mode 100644
index 00000000..52948510
--- /dev/null
+++ b/system/include/libcxx/CREDITS.TXT
@@ -0,0 +1,91 @@
+This file is a partial list of people who have contributed to the LLVM/libc++
+project. If you have contributed a patch or made some other contribution to
+LLVM/libc++, please submit a patch to this file to add yourself, and it will be
+done!
+
+The list is sorted by surname and formatted to allow easy grepping and
+beautification by scripts. The fields are: name (N), email (E), web-address
+(W), PGP key ID and fingerprint (P), description (D), and snail-mail address
+(S).
+
+N: Saleem Abdulrasool
+E: compnerd@compnerd.org
+D: Minor patches and Linux fixes.
+
+N: Dimitry Andric
+E: dimitry@andric.com
+D: Visibility fixes, minor FreeBSD portability patches.
+
+N: Holger Arnold
+E: holgerar@gmail.com
+D: Minor fix.
+
+N: Ruben Van Boxem
+E: vanboxem dot ruben at gmail dot com
+D: Initial Windows patches.
+
+N: David Chisnall
+E: theraven at theravensnest dot org
+D: FreeBSD and Solaris ports, libcxxrt support, some atomics work.
+
+N: Marshall Clow
+E: mclow.lists@gmail.com
+E: marshall@idio.com
+D: Minor patches and bug fixes.
+
+N: Google Inc.
+D: Copyright owner and contributor of the CityHash algorithm
+
+N: Howard Hinnant
+E: hhinnant@apple.com
+D: Architect and primary author of libc++
+
+N: Hyeon-bin Jeong
+E: tuhertz@gmail.com
+D: Minor patches and bug fixes.
+
+N: Argyrios Kyrtzidis
+E: kyrtzidis@apple.com
+D: Bug fixes.
+
+N: Michel Morin
+E: mimomorin@gmail.com
+D: Minor patches to is_convertible.
+
+N: Andrew Morrow
+E: andrew.c.morrow@gmail.com
+D: Minor patches and Linux fixes.
+
+N: Arvid Picciani
+E: aep at exys dot org
+D: Minor patches and musl port.
+
+N: Bjorn Reese
+E: breese@users.sourceforge.net
+D: Initial regex prototype
+
+N: Jonathan Sauer
+D: Minor patches, mostly related to constexpr
+
+N: Craig Silverstein
+E: csilvers@google.com
+D: Implemented Cityhash as the string hash function on 64-bit machines
+
+N: Richard Smith
+D: Minor patches.
+
+N: Michael van der Westhuizen
+E: r1mikey at gmail dot com
+
+N: Klaas de Vries
+E: klaas at klaasgaaf dot nl
+D: Minor bug fix.
+
+N: Zhang Xiongpang
+E: zhangxiongpang@gmail.com
+D: Minor patches and bug fixes.
+
+N: Jeffrey Yasskin
+E: jyasskin@gmail.com
+E: jyasskin@google.com
+D: Linux fixes.
diff --git a/system/include/libcxx/LICENSE.txt b/system/include/libcxx/LICENSE.txt
index 926f0676..5ed8ec22 100644
--- a/system/include/libcxx/LICENSE.txt
+++ b/system/include/libcxx/LICENSE.txt
@@ -14,7 +14,7 @@ Full text of the relevant licenses is included below.
University of Illinois/NCSA
Open Source License
-Copyright (c) 2009-2010 by the contributors listed in CREDITS.TXT
+Copyright (c) 2009-2013 by the contributors listed in CREDITS.TXT
All rights reserved.
@@ -55,7 +55,7 @@ SOFTWARE.
==============================================================================
-Copyright (c) 2009-2010 by the contributors listed in CREDITS.TXT
+Copyright (c) 2009-2013 by the contributors listed in CREDITS.TXT
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/system/include/libcxx/__bit_reference b/system/include/libcxx/__bit_reference
index 53d3c860..8180295b 100644
--- a/system/include/libcxx/__bit_reference
+++ b/system/include/libcxx/__bit_reference
@@ -14,12 +14,16 @@
#include <__config>
#include <algorithm>
+#include <__undef_min_max>
+
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#pragma GCC system_header
+#endif
_LIBCPP_BEGIN_NAMESPACE_STD
-template <class _C, bool _IsConst> class __bit_iterator;
-template <class _C> class __bit_const_reference;
+template <class _Cp, bool _IsConst, typename _Cp::__storage_type = 0> class __bit_iterator;
+template <class _Cp> class __bit_const_reference;
template <class _Tp>
struct __has_storage_type
@@ -27,22 +31,22 @@ struct __has_storage_type
static const bool value = false;
};
-template <class _C, bool = __has_storage_type<_C>::value>
+template <class _Cp, bool = __has_storage_type<_Cp>::value>
class __bit_reference
{
- typedef typename _C::__storage_type __storage_type;
- typedef typename _C::__storage_pointer __storage_pointer;
+ typedef typename _Cp::__storage_type __storage_type;
+ typedef typename _Cp::__storage_pointer __storage_pointer;
__storage_pointer __seg_;
__storage_type __mask_;
#if defined(__clang__)
- friend typename _C::__self;
+ friend typename _Cp::__self;
#else
- friend class _C::__self;
+ friend class _Cp::__self;
#endif
- friend class __bit_const_reference<_C>;
- friend class __bit_iterator<_C, false>;
+ friend class __bit_const_reference<_Cp>;
+ friend class __bit_iterator<_Cp, false>;
public:
_LIBCPP_INLINE_VISIBILITY operator bool() const _NOEXCEPT
{return static_cast<bool>(*__seg_ & __mask_);}
@@ -64,76 +68,77 @@ public:
{return operator=(static_cast<bool>(__x));}
_LIBCPP_INLINE_VISIBILITY void flip() _NOEXCEPT {*__seg_ ^= __mask_;}
- _LIBCPP_INLINE_VISIBILITY __bit_iterator<_C, false> operator&() const _NOEXCEPT
- {return __bit_iterator<_C, false>(__seg_, static_cast<unsigned>(__ctz(__mask_)));}
+ _LIBCPP_INLINE_VISIBILITY __bit_iterator<_Cp, false> operator&() const _NOEXCEPT
+ {return __bit_iterator<_Cp, false>(__seg_, static_cast<unsigned>(__ctz(__mask_)));}
private:
_LIBCPP_INLINE_VISIBILITY
__bit_reference(__storage_pointer __s, __storage_type __m) _NOEXCEPT
: __seg_(__s), __mask_(__m) {}
};
-template <class _C>
-class __bit_reference<_C, false>
+template <class _Cp>
+class __bit_reference<_Cp, false>
{
};
-template <class _C, class _D>
+template <class _Cp, class _Dp>
_LIBCPP_INLINE_VISIBILITY inline
void
-swap(__bit_reference<_C> __x, __bit_reference<_D> __y) _NOEXCEPT
+swap(__bit_reference<_Cp> __x, __bit_reference<_Dp> __y) _NOEXCEPT
{
bool __t = __x;
__x = __y;
__y = __t;
}
-template <class _C>
+template <class _Cp>
_LIBCPP_INLINE_VISIBILITY inline
void
-swap(__bit_reference<_C> __x, bool& __y) _NOEXCEPT
+swap(__bit_reference<_Cp> __x, bool& __y) _NOEXCEPT
{
bool __t = __x;
__x = __y;
__y = __t;
}
-template <class _C>
+template <class _Cp>
_LIBCPP_INLINE_VISIBILITY inline
void
-swap(bool& __x, __bit_reference<_C> __y) _NOEXCEPT
+swap(bool& __x, __bit_reference<_Cp> __y) _NOEXCEPT
{
bool __t = __x;
__x = __y;
__y = __t;
}
-template <class _C>
+template <class _Cp>