aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-11-08 15:56:02 -0800
committerAlon Zakai <alonzakai@gmail.com>2013-11-08 15:56:02 -0800
commite0268fa1035a718341c53921eee9318d4a8033cd (patch)
tree2b3eeb07928f9521498332002444dbfa44f34dfb
parenta11272805c16be75f5e6d00c8214afcac7ba9d05 (diff)
parentad1da1e6685d4483e096d7e0bbd8e38e686bd322 (diff)
Merge pull request #1767 from waywardmonkeys/update-libcxx1.7.2
Update libcxx
-rw-r--r--system/include/libcxx/CREDITS.TXT10
-rw-r--r--system/include/libcxx/__bit_reference16
-rw-r--r--system/include/libcxx/__config112
-rw-r--r--system/include/libcxx/__debug29
-rw-r--r--system/include/libcxx/__functional_0314
-rw-r--r--system/include/libcxx/__functional_base178
-rw-r--r--system/include/libcxx/__functional_base_032
-rw-r--r--system/include/libcxx/__hash_table50
-rw-r--r--system/include/libcxx/__locale40
-rw-r--r--system/include/libcxx/__mutex_base35
-rw-r--r--system/include/libcxx/__split_buffer18
-rw-r--r--system/include/libcxx/__std_stream14
-rw-r--r--system/include/libcxx/__tree61
-rw-r--r--system/include/libcxx/__tuple30
-rw-r--r--system/include/libcxx/__tuple_034
-rw-r--r--system/include/libcxx/__undef_min_max8
-rw-r--r--system/include/libcxx/algorithm231
-rw-r--r--system/include/libcxx/array30
-rw-r--r--system/include/libcxx/bitset8
-rw-r--r--system/include/libcxx/chrono68
-rw-r--r--system/include/libcxx/cmath48
-rw-r--r--system/include/libcxx/codecvt39
-rw-r--r--system/include/libcxx/complex55
-rw-r--r--system/include/libcxx/cstddef2
-rw-r--r--system/include/libcxx/cstdio9
-rw-r--r--system/include/libcxx/cstdlib2
-rw-r--r--system/include/libcxx/cwchar2
-rw-r--r--system/include/libcxx/deque38
-rw-r--r--system/include/libcxx/dynarray311
-rw-r--r--system/include/libcxx/exception8
-rw-r--r--system/include/libcxx/ext/__hash6
-rw-r--r--system/include/libcxx/ext/hash_map34
-rw-r--r--system/include/libcxx/ext/hash_set10
-rw-r--r--system/include/libcxx/forward_list40
-rw-r--r--system/include/libcxx/fstream8
-rw-r--r--system/include/libcxx/functional370
-rw-r--r--system/include/libcxx/future122
-rw-r--r--system/include/libcxx/initializer_list35
-rw-r--r--system/include/libcxx/iomanip147
-rw-r--r--system/include/libcxx/ios40
-rw-r--r--system/include/libcxx/iosfwd38
-rw-r--r--system/include/libcxx/istream21
-rw-r--r--system/include/libcxx/iterator525
-rw-r--r--system/include/libcxx/limits12
-rw-r--r--system/include/libcxx/list36
-rw-r--r--system/include/libcxx/locale543
-rw-r--r--system/include/libcxx/map380
-rw-r--r--system/include/libcxx/memory146
-rw-r--r--system/include/libcxx/mutex4
-rw-r--r--system/include/libcxx/new57
-rw-r--r--system/include/libcxx/numeric4
-rw-r--r--system/include/libcxx/optional697
-rw-r--r--system/include/libcxx/ostream25
-rw-r--r--system/include/libcxx/queue10
-rw-r--r--system/include/libcxx/random104
-rw-r--r--system/include/libcxx/ratio22
-rw-r--r--system/include/libcxx/readme.txt2
-rw-r--r--system/include/libcxx/regex43
-rw-r--r--system/include/libcxx/scoped_allocator2
-rw-r--r--system/include/libcxx/set168
-rw-r--r--system/include/libcxx/shared_mutex419
-rw-r--r--system/include/libcxx/sstream8
-rw-r--r--system/include/libcxx/stack6
-rw-r--r--system/include/libcxx/streambuf10
-rw-r--r--system/include/libcxx/string696
-rw-r--r--system/include/libcxx/support/ibm/limits.h99
-rw-r--r--system/include/libcxx/support/ibm/support.h54
-rw-r--r--system/include/libcxx/support/ibm/xlocale.h326
-rw-r--r--system/include/libcxx/support/win32/limits_win32.h12
-rw-r--r--system/include/libcxx/support/win32/locale_win32.h30
-rw-r--r--system/include/libcxx/support/win32/math_win32.h2
-rw-r--r--system/include/libcxx/support/win32/support.h7
-rw-r--r--system/include/libcxx/system_error22
-rw-r--r--system/include/libcxx/thread15
-rw-r--r--system/include/libcxx/tuple117
-rw-r--r--system/include/libcxx/type_traits462
-rw-r--r--system/include/libcxx/typeindex6
-rw-r--r--system/include/libcxx/unordered_map263
-rw-r--r--system/include/libcxx/unordered_set81
-rw-r--r--system/include/libcxx/utility40
-rw-r--r--system/include/libcxx/valarray46
-rw-r--r--system/include/libcxx/vector205
-rw-r--r--system/lib/libcxx/CREDITS.TXT10
-rw-r--r--system/lib/libcxx/algorithm.cpp1
-rw-r--r--system/lib/libcxx/debug.cpp108
-rw-r--r--system/lib/libcxx/exception.cpp104
-rw-r--r--system/lib/libcxx/future.cpp6
-rw-r--r--system/lib/libcxx/ios.cpp9
-rw-r--r--system/lib/libcxx/iostream.cpp16
-rw-r--r--system/lib/libcxx/locale.cpp49
-rw-r--r--system/lib/libcxx/mutex.cpp3
-rw-r--r--system/lib/libcxx/new.cpp54
-rw-r--r--system/lib/libcxx/optional.cpp25
-rw-r--r--system/lib/libcxx/random.cpp26
-rw-r--r--system/lib/libcxx/readme.txt2
-rw-r--r--system/lib/libcxx/shared_mutex.cpp101
-rw-r--r--system/lib/libcxx/stdexcept.cpp18
-rw-r--r--system/lib/libcxx/string.cpp4
-rw-r--r--system/lib/libcxx/strstream.cpp14
-rw-r--r--system/lib/libcxx/support/win32/locale_win32.cpp25
-rw-r--r--system/lib/libcxx/support/win32/support.cpp69
-rw-r--r--system/lib/libcxx/symbols355
-rw-r--r--system/lib/libcxx/system_error.cpp1
-rw-r--r--system/lib/libcxx/thread.cpp10
-rw-r--r--system/lib/libcxx/typeinfo.cpp15
-rw-r--r--system/lib/libcxx/valarray.cpp2
-rw-r--r--tools/shared.py2
107 files changed, 6016 insertions, 3062 deletions
diff --git a/system/include/libcxx/CREDITS.TXT b/system/include/libcxx/CREDITS.TXT
index 5e4d14ec..368b526f 100644
--- a/system/include/libcxx/CREDITS.TXT
+++ b/system/include/libcxx/CREDITS.TXT
@@ -31,7 +31,7 @@ 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.
+D: C++14 support, patches and bug fixes.
N: Bill Fisher
E: william.w.fisher@gmail.com
@@ -76,6 +76,10 @@ N: Bjorn Reese
E: breese@users.sourceforge.net
D: Initial regex prototype
+N: Nico Rieck
+E: nico.rieck@gmail.com
+D: Windows fixes
+
N: Jonathan Sauer
D: Minor patches, mostly related to constexpr
@@ -105,6 +109,10 @@ N: Zhang Xiongpang
E: zhangxiongpang@gmail.com
D: Minor patches and bug fixes.
+N: Xing Xue
+E: xingxue@ca.ibm.com
+D: AIX port
+
N: Zhihao Yuan
E: lichray@gmail.com
D: Standard compatibility fixes.
diff --git a/system/include/libcxx/__bit_reference b/system/include/libcxx/__bit_reference
index 857dd5a4..37b79237 100644
--- a/system/include/libcxx/__bit_reference
+++ b/system/include/libcxx/__bit_reference
@@ -40,7 +40,7 @@ class __bit_reference
__storage_pointer __seg_;
__storage_type __mask_;
-#if defined(__clang__)
+#if defined(__clang__) || defined(__IBMCPP__) || defined(_LIBCPP_MSVC)
friend typename _Cp::__self;
#else
friend class _Cp::__self;
@@ -82,7 +82,7 @@ class __bit_reference<_Cp, false>
};
template <class _Cp>
-_LIBCPP_INLINE_VISIBILITY inline
+inline _LIBCPP_INLINE_VISIBILITY
void
swap(__bit_reference<_Cp> __x, __bit_reference<_Cp> __y) _NOEXCEPT
{
@@ -92,7 +92,7 @@ swap(__bit_reference<_Cp> __x, __bit_reference<_Cp> __y) _NOEXCEPT
}
template <class _Cp, class _Dp>
-_LIBCPP_INLINE_VISIBILITY inline
+inline _LIBCPP_INLINE_VISIBILITY
void
swap(__bit_reference<_Cp> __x, __bit_reference<_Dp> __y) _NOEXCEPT
{
@@ -102,7 +102,7 @@ swap(__bit_reference<_Cp> __x, __bit_reference<_Dp> __y) _NOEXCEPT
}
template <class _Cp>
-_LIBCPP_INLINE_VISIBILITY inline
+inline _LIBCPP_INLINE_VISIBILITY
void
swap(__bit_reference<_Cp> __x, bool& __y) _NOEXCEPT
{
@@ -112,7 +112,7 @@ swap(__bit_reference<_Cp> __x, bool& __y) _NOEXCEPT
}
template <class _Cp>
-_LIBCPP_INLINE_VISIBILITY inline
+inline _LIBCPP_INLINE_VISIBILITY
void
swap(bool& __x, __bit_reference<_Cp> __y) _NOEXCEPT
{
@@ -130,7 +130,7 @@ class __bit_const_reference
__storage_pointer __seg_;
__storage_type __mask_;
-#if defined(__clang__)
+#if defined(__clang__) || defined(__IBMCPP__) || defined(_LIBCPP_MSVC)
friend typename _Cp::__self;
#else
friend class _Cp::__self;
@@ -379,7 +379,7 @@ __fill_n_true(__bit_iterator<_Cp, false> __first, typename _Cp::size_type __n)
}
template <class _Cp>
-_LIBCPP_INLINE_VISIBILITY inline
+inline _LIBCPP_INLINE_VISIBILITY
void
fill_n(__bit_iterator<_Cp, false> __first, typename _Cp::size_type __n, bool __value_)
{
@@ -1222,7 +1222,7 @@ private:
__bit_iterator(__storage_pointer __s, unsigned __ctz) _NOEXCEPT
: __seg_(__s), __ctz_(__ctz) {}
-#if defined(__clang__)
+#if defined(__clang__) || defined(__IBMCPP__) || defined(_LIBCPP_MSVC)
friend typename _Cp::__self;
#else
friend class _Cp::__self;
diff --git a/system/include/libcxx/__config b/system/include/libcxx/__config
index b1f0d958..a45b02de 100644
--- a/system/include/libcxx/__config
+++ b/system/include/libcxx/__config
@@ -79,8 +79,14 @@
# endif
# if defined(_MSC_VER) && !defined(__clang__)
# define _LIBCPP_MSVC // Using Microsoft Visual C++ compiler
+# define _LIBCPP_TOSTRING2(x) #x
+# define _LIBCPP_TOSTRING(x) _LIBCPP_TOSTRING2(x)
+# define _LIBCPP_WARNING(x) __pragma(message(__FILE__ "(" _LIBCPP_TOSTRING(__LINE__) ") : warning note: " x))
+# endif
+# // If mingw not explicitly detected, assume using MS C runtime only.
+# ifndef __MINGW32__
+# define _LIBCPP_MSVCRT // Using Microsoft's C Runtime library
# endif
-# define _LIBCPP_MSVCRT // Using Microsoft's C Runtime library
#endif // _WIN32
#ifdef __linux__
@@ -132,6 +138,9 @@
# define _LIBCPP_TYPE_VIS
#endif
+#define _LIBCPP_TYPE_VIS_ONLY
+#define _LIBCPP_FUNC_VIS_ONLY
+
#ifndef _LIBCPP_INLINE_VISIBILITY
# ifdef _LIBCPP_MSVC
# define _LIBCPP_INLINE_VISIBILITY __forceinline
@@ -172,6 +181,14 @@
# endif
#endif
+#ifndef _LIBCPP_TYPE_VIS_ONLY
+# define _LIBCPP_TYPE_VIS_ONLY _LIBCPP_TYPE_VIS
+#endif
+
+#ifndef _LIBCPP_FUNC_VIS_ONLY
+# define _LIBCPP_FUNC_VIS_ONLY _LIBCPP_FUNC_VIS
+#endif
+
#ifndef _LIBCPP_INLINE_VISIBILITY
#define _LIBCPP_INLINE_VISIBILITY __attribute__ ((__visibility__("hidden"), __always_inline__))
#endif
@@ -180,10 +197,6 @@
#define _LIBCPP_EXCEPTION_ABI _LIBCPP_TYPE_VIS
#endif
-#ifndef _LIBCPP_CANTTHROW
-#define _LIBCPP_CANTTHROW __attribute__ ((__nothrow__))
-#endif
-
#ifndef _LIBCPP_ALWAYS_INLINE
#define _LIBCPP_ALWAYS_INLINE __attribute__ ((__visibility__("hidden"), __always_inline__))
#endif
@@ -408,6 +421,7 @@ using namespace _LIBCPP_NAMESPACE __attribute__((__strong__));
#define _LIBCPP_HAS_NO_CONSTEXPR
#define _LIBCPP_HAS_NO_UNICODE_CHARS
#define _LIBCPP_HAS_NO_DELETED_FUNCTIONS
+#define _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
#define __alignof__ __alignof
#define _LIBCPP_NORETURN __declspec(noreturn)
#define _ALIGNAS(x) __declspec(align(x))
@@ -420,10 +434,43 @@ using namespace _LIBCPP_NAMESPACE __attribute__((__strong__));
#define _LIBCPP_END_NAMESPACE_STD }
#define _VSTD std
+# define _LIBCPP_WEAK
+namespace std {
+}
+
+#elif defined(__IBMCPP__)
+
+#define _ALIGNAS(x) __attribute__((__aligned__(x)))
+#define _ALIGNAS_TYPE(x) __attribute__((__aligned__(__alignof(x))))
+#define _ATTRIBUTE(x) __attribute__((x))
+#define _LIBCPP_NORETURN __attribute__((noreturn))
+
+#define _NOEXCEPT throw()
+#define _NOEXCEPT_(x)
+
+#define _LIBCPP_HAS_NO_TEMPLATE_ALIASES
+#define _LIBCPP_HAS_NO_ADVANCED_SFINAE
+#define _LIBCPP_HAS_NO_ALWAYS_INLINE_VARIADICS
+#define _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
+#define _LIBCPP_HAS_NO_NULLPTR
+#define _LIBCPP_HAS_NO_UNICODE_CHARS
+#define _LIBCPP_HAS_NO_STRONG_ENUMS
+#define _LIBCPP_HAS_IS_BASE_OF
+
+#if defined(_AIX)
+#define __MULTILOCALE_API
+#endif
+
+#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std {inline namespace _LIBCPP_NAMESPACE {
+#define _LIBCPP_END_NAMESPACE_STD } }
+#define _VSTD std::_LIBCPP_NAMESPACE
+
namespace std {
+ inline namespace _LIBCPP_NAMESPACE {
+ }
}
-#endif // __clang__ || __GNUC__ || _LIBCPP_MSVC
+#endif // __clang__ || __GNUC___ || _MSC_VER || __IBMCPP__
#ifdef _LIBCPP_HAS_NO_UNICODE_CHARS
typedef unsigned short char16_t;
@@ -486,8 +533,23 @@ template <unsigned> struct __static_assert_check {};
#define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x)
#endif // _LIBCPP_HAS_NO_STRONG_ENUMS
+#ifdef _LIBCPP_DEBUG
+# if _LIBCPP_DEBUG == 0
+# define _LIBCPP_DEBUG_LEVEL 1
+# elif _LIBCPP_DEBUG == 1
+#